本文首發于公衆号“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相關的操作
歡迎關注我的微信公衆号,和我一起每天進步一點點!