.git文件夾是git init后在當前目錄生成的一個管理git倉庫的文件夾,這里包含所有git操作所需要的東西,如下圖:
hooks(鈎):存放一些shell腳本
Info:exclude:存放倉庫的一些信息
logs:保存所有更新的引用記錄
HEAD
(refs:heads、remote)
objects:存放所有的git對象
例如:logs中 9e63549ae26ed3bff8b96adb6498520855d52d可以找到下圖
refs:
heads:保存當前最新的一次提交的哈希值
COMMIT_EDITMSG:
最新提交的一次Commit Message,git系統不會用到,給用戶一個參考
description:倉庫的描述信息,主要給gitweb等git托管系統使用
config:git倉庫的配置文件
index:暫存區(stage),一個二進制文件
FETCH_HEAD: 是一個版本鏈接,指向着目前已經從遠程倉庫取下來的分支的末端版本
HEAD:映射到ref引用,能夠找到下一次commit的前一次哈希值(看上面logs的圖)
ORIG_HEAD:HEAD指針的前一個狀態
在logs/HEAD中,最后一條提交記錄,當前hash值
packed-refs:
當更新一個引用時,git不會packed-refs,而是會在refs/heads下寫入一個新文件。當查找一個引用時,git首先在refs目錄下查找,如果未找到則到packed-refs文件中去查找。