Git倉庫目錄探祕

本文首發於公衆號「AntDream」,歡迎微信搜索「AntDream」或掃描文章底部二維碼關注,和我一塊兒天天進步一點點git

Git系列

Git本地倉庫

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

首先咱們建立一個新的git倉庫,這個用git init或者git init 文件夾名命令就好了。微信

git init test_git
複製代碼

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

初始項目目錄

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

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

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

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

info目錄下面的refs目錄

objects目錄:

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

objects目錄裏面能夠分爲2部分:info目錄和pack目錄、其餘元數據。其餘數據都是相似這樣的:rem

objects目錄

refs目錄:

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

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

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

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

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

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

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


歡迎關注個人公衆號查看更多精彩文章!
複製代碼

AntDream
相關文章
相關標籤/搜索