本文首發於公衆號“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相關的操作
歡迎關注我的公衆號查看更多精彩文章!