* 本場景命令:?**git add .?**;?**git commit -m “first commit”**

* * *
* 那么在這些git對象和引用種到底存儲了什么內容,他們怎樣組織起來的呢???
* 如下圖所示,引用HEAD文件中存的是當前branch的路徑,默認為master
* 如下圖所示,而分支master文件中存的是一個SHA-1值,該值是一個commit對象的key,意為分支master當前指向該特定commit
* 如下圖所示,若找到對應master里存儲的那個commit后我們看到該文件里存了若干信息,主要包括上一個commit對象的key,一些git對象的類型與key值,本次提交信息,提交者的信息與提交時間
* 如下圖所示,一個tree對象里存儲的是一個或多個blob 對象的key,對應到倉庫里則意味著該目錄下現在這幾個文件
* 如下圖所示,一個blob對象里存儲的就是真實的文件內容啦
現在你能理解為什么主人公第一次commit后的git圖如上所示了吧

* * *
> ?
>
> Git 是一個內容尋址文件系統。 看起來很酷, 但這是什么意思呢? 這意味著,Git 的核心部分是一個簡單的鍵值對數據庫(key-value data store)。

* * *
* 第二次commit,主人公更改了status.txt的內容味’fall in love’,新增了girl_friend目錄及name.txt文件
* 第二次git結構圖如下所示,圖中所示的git對象都存在于objects目錄下,只是那些灰色的對象并不鏈在當前branch的當前狀態上了