在物件儲存中,git僅使用了四種型態的物件:
1. BLOBs, Binary Large OBjects (二進位的大型物件):
檔案的每個版本都是由Blob所組成的。而這個詞彙被廣泛使用在資訊界,泛指可以儲存任何型態資料的檔案或變數,而且使用BLOBs的程式是並不會在意其內部結構的,因為BLOB型態的資料不易理解,因為它並沒有包含任何關於檔案的資訊,甚至檔案名稱都沒有。
2. Tree:
樹狀物件代表一個階層的目錄資訊。它記錄著
I. BLOB辨識碼
II. BLOB的路徑名稱
III. 以及在這個目錄中所有檔案的一些資訊。
樹狀物件本身也可以遞迴的參考其他子樹物件,然後建立出完整的檔案以及子目錄的階層架構。
3. Commits(送交):
--- 送交物件擁有每次容器更動時的所有資訊,包含了作者、送交者、送交的時間以及歷史紀錄訊息等。
--- 每次的送交都會指向一個樹狀物件,這個物件紀錄了送交當下該容器的狀態。(除了最一開始的送交沒有"父送交物件",而大多數的送交都會有一個"父送交物件")
4. Tags(標籤):
標籤物件將人類易讀的名字賦予給特定物件(通常是Commits送交物件)
沒有留言:
張貼留言