意思是git commit

时间:2016-06-17 07:03:20

标签: git

Git文档说明:

  

每次你提交或保存你在Git中的项目状态时,它基本上都会描绘你当时所有文件的样子

它基本上意味着什么"拍照"?

2 个答案:

答案 0 :(得分:0)

它要求存储库中的所有文件排成一行并说“奶酪”。然后,拍摄X射线照片,显示所有二进制数据。

然后使用此二进制数据来确定文件夹在该点的状态,以便稍后(在不同的位置)重新创建它或制作差异。

答案 1 :(得分:0)

进行提交,然后运行git log -1 --pretty=raw,您将在输出中看到tree xxxxxx。树是当前git repo快照的sha1。如果两棵树具有相同的sha1,我们可以确定它们具有相同的内容。您可以运行git ls-tree sha1来查看由树构成的内容或快照的内容。你会看到一个树和blob的列表,有时候也会提交它们的sha1s。 blob指的是文件。树指的是文件夹。您可以运行git cat-file -p blob-sha1git show blob-sha1来查看blob的内容。每个blob都是不同时间文件的快照。如果文件已更改,则其blob和sha1也会更改。但是使用相同的内容,我们总是可以通过git hash-object得到相同的sha1。所以基本上,提交是指树(git repo的根文件夹),它代表git repo的状态。树由git仓库中的其他树(子目录)和blob(文件)组成。当我们进行提交时,它会记录git repo的状态,那时文件夹和文件是什么样的。通过提交,我们可以重建由树和blob描述的整个git repo。