天天看點

Git倉庫目錄探秘

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

Git本地倉庫

每一個Git項目下都會有一個

.git

目錄,裡面包含了整個git倉庫的資訊資料。我們首先來認識一下這個目錄。

首先我們建立一個新的

git

倉庫,這個用

git init

或者

git init 檔案夾名

指令就行了。

git init test_git           

上述指令執行完以後,就會建立一個檔案夾

test_git

,裡面有一個

.git

目錄,裡面包含了一個初始的

git

倉庫的所有資訊。

Git倉庫目錄探秘

其中主要幾個檔案及目錄:

config檔案:儲存的是目前工程的一些配置資訊,包括遠端倉庫位址、本地分支和關聯的遠端分支資訊、目前工程的使用者名和密碼(如果為目前工程配置過)等

HEAD檔案:裡面儲存的是工程目前所在的分支

info目錄:裡面一般會有2個檔案,exclude一般用不到,另一個檔案是refs檔案,裡面儲存的是所有分支所指向的送出(commit)清單

Git倉庫目錄探秘
objects目錄:

裡面儲存的是工程的所有中繼資料,包括檔案的每個版本資料,每一次送出的資訊等等。

objects目錄裡面可以分為2部分:info目錄和pack目錄、其他中繼資料。其他資料都是類似這樣的:

Git倉庫目錄探秘
refs目錄:

這個目錄儲存的是分支資訊和标簽Tag資訊,又分為3個子目錄:

  • remotes目錄:這個目錄裡面是遠端倉庫的分支資訊,一般隻有一個遠端倉庫的話,下面就隻有一個子目錄,也就是

    origin

    ,裡面就是遠端的分支在本地的記錄
  • heads目錄:這個目錄裡面是本地的分支
  • tags目錄:裡面是标簽資訊
其他的檔案和目錄:

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

hooks目錄:這裡面是

鈎子腳本

modules目錄:這裡面是Git子子產品,Android中的AppShell相關的資訊就儲存在這裡面

index檔案:這裡就是我們平時說的 暫存區 ,儲存了下次将送出的檔案清單資訊,我們執行

git add

後這裡就會更新剛剛添加的檔案資訊

logs目錄:這裡面的資訊實際上也很重要,裡面記錄了我們本地倉庫中所有分支的commit送出(包括已經

reset

)的資訊,實際上是HEAD的變動都會記錄在裡面,包括分支操作和commit相關的操作

歡迎關注我的微信公衆号,和我一起每天進步一點點!

繼續閱讀