Git倉庫目錄探祕

本文首發於公衆號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點

Git本地倉庫

每一個Git項目下都會有一個.git目錄,裏面包含了整個git倉庫的信息數據。我們首先來認識一下這個目錄。

首先我們創建一個新的git倉庫,這個用git init或者git init 文件夾名命令就行了。

git init test_git

上述命令執行完以後,就會創建一個文件夾test_git,裏面有一個.git目錄,裏面包含了一個初始的git倉庫的所有信息。

其中主要幾個文件及目錄:

config文件:保存的是當前工程的一些配置信息,包括遠程倉庫地址、本地分支和關聯的遠程分支信息、當前工程的用戶名和密碼(如果爲當前工程配置過)等

HEAD文件:裏面保存的是工程當前所在的分支

info目錄:裏面一般會有2個文件,exclude一般用不到,另一個文件是refs文件,裏面保存的是所有分支所指向的提交(commit)列表

objects目錄:

裏面保存的是工程的所有元數據,包括文件的每個版本數據,每一次提交的信息等等。

objects目錄裏面可以分爲2部分:info目錄和pack目錄、其他元數據。其他數據都是類似這樣的:

refs目錄:

這個目錄保存的是分支信息和標籤Tag信息,又分爲3個子目錄:

  • remotes目錄:這個目錄裏面是遠程倉庫的分支信息,一般只有一個遠程倉庫的話,下面就只有一個子目錄,也就是origin,裏面就是遠程的分支在本地的記錄
  • heads目錄:這個目錄裏面是本地的分支
  • tags目錄:裏面是標籤信息
其他的文件和目錄:

logs目錄:Git 會默默地記錄每一次你改變 HEAD 時它的值,包括每個分支的HEAD的改變記錄

hooks目錄:這裏面是鉤子腳本

modules目錄:這裏面是Git子模塊,Android中的AppShell相關的信息就保存在這裏面

index文件:這裏就是我們平時說的 暫存區 ,保存了下次將提交的文件列表信息,我們執行git add後這裏就會更新剛剛添加的文件信息

logs目錄:這裏面的信息實際上也很重要,裏面記錄了我們本地倉庫中所有分支的commit提交(包括已經reset)的信息,實際上是HEAD的變動都會記錄在裏面,包括分支操作和commit相關的操作


                         歡迎關注我的公衆號查看更多精彩文章!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章