Git可能有超過100個命令。命令不多,但是每個命令可以帶很多參數,非常強大。Git命令總是分為兩類:高級命令和低級命令。
Gita Add和git commit都是高級命令,高級命令通過調用多個低級命令來完成操作。在這壹節,希望大家能徹底理解git add和git commit。
例如,如果我們構建壹個新項目並創建壹個新的test.go文件,並在該文件中隨意編寫壹些內容,讓我們使用底層命令來生成壹個完整的git歷史:
步驟1:為test.go文件生成壹個二進制存儲對象。
Git hash-object命令是為壹個文件生成它的二進制存儲對象並返回它的sha1簽名代碼,假設它返回“0 d5a 2b 61190403 ef 081242860845106558。
步驟2:更新索引文件
這壹步是將上壹步生成的對象及其路徑添加到索引中。我們使用在上壹節中討論過的updae-index命令。
以上兩個命令完全等同於git add test.go命令。
步驟3:生成目錄樹對象。
調用write-tree命令後,git會根據當前索引區的目錄結構生成壹個樹對象,並返回這個樹對象的sha1簽名代碼,假設返回:d8329f。
步驟4:生成提交對象。
echo後單引號內的內容是我們的提交消息。第三和第四步是完成git提交命令操作。
您可以嘗試操作上面的四個命令,並在。git/objects目錄和工作區。