试试这个:
mkdir a
cd a
git init
touch f1
git add f1
git commit -m "Commit 1"
git log
注意SHA。然后做
git commit --amend -m "Commit 1"
git log
请注意,SHA已更改,但我看不到有关提交本身的任何内容(甚至提交日期都没有)。
生成新SHA的这两个提交有什么不同?
答案 0 :(得分:4)
我在本地浏览了你的例子。如果使用git cat-file
检查提交对象...
第一次提交后:
$ git cat-file -p f9afca7508e2d97ca4babfb897fa5acefe67af54
tree 56e3dd6f60494c9bbe56ea178b9a86c91d3139c6
author Lars Kellogg-Stedman <lars@example.com> 1376499716 -0400
committer Lars Kellogg-Stedman <lars@example.com> 1376499716 -0400
Commit 1
修改后:
$ git cat-file -p 976778e7f58c4b2f89b4f652e89c420e1266d297
tree 56e3dd6f60494c9bbe56ea178b9a86c91d3139c6
author Lars Kellogg-Stedman <lars@example.com> 1376499716 -0400
committer Lars Kellogg-Stedman <lars@example.com> 1376499733 -0400
Commit 1
请注意,这两个提交对&#34; commiter&#34;有不同的时间戳。元数据。由于数据不同,因此提交ID不同。如果更改数据,则更改对象的SHA1。