git commit --amend - 未进行任何更改时更改提交哈希
git commit --amend - commit hash is changed when no changes are made
我希望更正我对此的理解,但我不确定为什么会这样。
使用 git 时,我知道如果我对文件进行更改然后提交它,我会得到一个新的哈希值,因为文件已更改。
我对git commit --amend
的理解是我可以对最后一次提交进行更改。
现在我明白了,如果我更改提交消息,哈希值也会改变。
但是当我不做任何更改而只是保存并退出编辑器时(我可能改变了主意需要更改)为什么散列会发生变化?
我所有的文件和一切都是一样的,但我已经保存了。当我 git log
提交的时间没有改变时,它只是在日志中出现两次,同时出现相同的时间、相同的消息、相同的文件,除了不同的提交哈希。
如果没有做任何改动,为什么会发生变化??
Git 哈希值是使用许多项目计算的,包括作者 name/date、提交 name/date 提交消息、树和父 SHA 等。当您修改提交时,提交 名称和日期会更新。 (您通常看不到提交名称和日期,除非您将其他格式选项传递给 git log
。)因为已经更新,提交哈希将在修改提交时更改。
我希望更正我对此的理解,但我不确定为什么会这样。
使用 git 时,我知道如果我对文件进行更改然后提交它,我会得到一个新的哈希值,因为文件已更改。
我对git commit --amend
的理解是我可以对最后一次提交进行更改。
现在我明白了,如果我更改提交消息,哈希值也会改变。
但是当我不做任何更改而只是保存并退出编辑器时(我可能改变了主意需要更改)为什么散列会发生变化?
我所有的文件和一切都是一样的,但我已经保存了。当我 git log
提交的时间没有改变时,它只是在日志中出现两次,同时出现相同的时间、相同的消息、相同的文件,除了不同的提交哈希。
如果没有做任何改动,为什么会发生变化??
Git 哈希值是使用许多项目计算的,包括作者 name/date、提交 name/date 提交消息、树和父 SHA 等。当您修改提交时,提交 名称和日期会更新。 (您通常看不到提交名称和日期,除非您将其他格式选项传递给 git log
。)因为已经更新,提交哈希将在修改提交时更改。