天天看點

【Git之旅】2.Git對象

1.塊(blob)對象

(1)檔案的每一個版本表示為一個塊

(2)二進制大對象(binary large object)的縮寫,是計算機領域的常用術語,用來指代某些可以包含任意資料的變量或檔案,同時其内部結構會被程式忽略

(3)一個blob被視為一個黑盒

(4)一個blob儲存一個檔案的資料,但不包含任何關于這個檔案的中繼資料,甚至連檔案名也沒有

(5)blob對象是資料結構的“底端”

(6)它什麼也不引用而且隻被樹對象引用

2.樹(tree)對象

(1)代表一層目錄資訊

(2)記錄blob辨別符、路徑名和在一個目錄裡所有檔案的一些中繼資料

(3)樹對象指向若幹blob對象,也可能指向其他樹對象

(4)許多不通的送出對象可能指向任何給定的樹對象

3.送出(commit)對象

(1)一個送出對象儲存版本庫中的每一次變化的中繼資料,包括作者、送出者、送出日期和日志資訊

(2)送出對象指向一個特定的樹對象,并且這個樹對象是由送出對象引入版本庫的

4.标簽(tag)對象

(1)一個标簽對象配置設定一個任意的且人類可讀的名字給一個特定對象,通常是一個送出對象

(2)每個标簽可以指向最多一個送出對象

參考資料:《Git版本控制管理》