天天看點

GIT入門

git 學習筆記

1、Git 和 SVN的差別是什麼。

三個差別:【存儲】、【使用】、【管理】

  • 存儲:
    • Git是對修改的内容,進行key/value的方式進行存儲的。
    • Svn是對源檔案進行存儲。
    • so:同樣用svn 和 git 管理一樣的修改,一樣的版本,svn倉庫會大很多。
  • 使用:
    • Git送出需要 add commit push , 而Svn隻需要 commit。
  • 管理:
    • Git是分布式,SVN是遠端集中式管理。
    • Svn送出代碼,必須遠端Svn倉庫開啟着,才可以使用,如果沒有開,什麼都做不了。而Git用戶端就會有一個本地倉庫,可以進行送出,對比,切換分支,連接配接遠端,可以推送。
2、Git的底層原理
  • Git是對修改記錄進行 key/value的儲存,是以我們要回退到什麼時候的版本,或者回退哪一次的修改,可以快速的通過gitKey的方式,快速的 切換版本。
  • 這個做法,很好的解決了記錄切換的問題以及效率,那麼他是如何做到找到檔案夾呢?
  • git是通過樹圖來管理檔案的
  • Git對于檔案檔案管理,是采用樹模型進行建立的,每一個分支,又有一棵樹,這裡有4個屬性,tree,blob,commit,tag。
  • blob ,表示檔案節點,git add 時候建立的
  • tree ,表示樹節點,git commit時候建立的,還有他下面的位元組點,分别用blob 和 tree 表示。
  • commit,會帶上tree的id,是以可以快速的知道,擷取哪個樹的資訊。
3、Git的通信協定

支援四種:【local】,【ssh】,【http】,【git】

  • local: 本地檔案傳輸模式,小打小鬧可以。
  • ssh: 安全性高了,但是不适合做一些管理。
  • http :git本身不支援http,需要借助apche,nginx等web伺服器,做轉發。
  • git : 是git 自己本身的服務
4、一些資料:

官方用戶端:

httpsd://git-scm.com/downloads

其它用戶端:

https://tortoisegit.org/download/

徹底了解git:

https://github.com/pysnow530/git-from-the-inside-out/blob/master/README.md

繼續閱讀