为什么在运行
假设我在命令行中运行以下命令。
然后,调用
打印以下信息:
我然后做。
但是我改变了主意,决定不在最后一次提交中做任何更改。换句话说,我保持上次提交的文件、目录和消息不变(只保存消息文件并关闭编辑器)。
然后,我执行
再来一次,我看到提交的哈希值已经改变了:
git commit --amend
之后,即使我没有对提交(消息、文件)进行任何更改,我的最新提交的SHA-1哈希值也会发生变化?假设我在命令行中运行以下命令。
cd ~/Desktop
mkdir test_amend
cd test_amend
git init
echo 'foo' > test.txt
git add test.txt
git commit -m 'initial commit'
然后,调用
git log --pretty=oneline --abbrev-commit
打印以下信息:
b96a901 initial commit
我然后做。
git commit --amend
但是我改变了主意,决定不在最后一次提交中做任何更改。换句话说,我保持上次提交的文件、目录和消息不变(只保存消息文件并关闭编辑器)。
然后,我执行
git log --pretty=oneline --abbrev-commit
再来一次,我看到提交的哈希值已经改变了:
3ce92dc initial commit
什么导致哈希值发生变化?这是否与提交的时间戳有关?
:cquit
命令以非零的退出代码退出,这也会导致 git 放弃操作。 - ThomasGIT_COMMITTER_DATE
和git commit --date
。 - JoelFan