git commit --amend 是危险的
git commit --amend is dangerous
我有时会不小心输入 git commit -amend
,而我真的想输入 git commit --amend
。 Git 检测到并问我
$ git commit -amend
error: did you mean `--amend` (with two dashes ?)
太棒了。
然而,有时我写 git commit -ammend
然后 git 会接受它并将我的拼写错误视为 git -a -m "mend"
,所以它只是提交日志消息 "mend".
我正在寻找一种方法来阻止 git 这样做。我试图为 git commit -ammend
定义一个别名,但暂时失败了。您对如何处理这个问题有什么建议吗?
git commit --amend
(正确拼写)实际上比git commit -a -m "mend"
更危险。前者会重写现有的提交,用新的提交替换它,所以这或多或少是一个破坏性的命令。然而,后者 只是 创建一个你不打算做的提交。这是一个建设性的命令,它不会重写任何现有的历史,而只会增加它。
添加一个你不打算添加的提交可能很麻烦,但根本不是问题。您可以使用 git reset --soft HEAD~1
简单地撤消该提交(不会丢失任何内容)。这将在不影响您的工作目录的情况下将分支指针重置为提交之前。
当然,你也可以撤消对commit的修改,但这是一个更具破坏性的命令,你需要小心一点。
所以我个人不会为 Git 错误的解释而烦恼。是的,这很烦人,但仅此而已。当你注意到它时就撤消它。
我个人建议为 git commit --amend
创建一个别名,尤其是当您发现自己更频繁地修改提交时。我个人使用git amend
。您可以使用以下命令进行设置:
git config --global alias.amend "commit --amend"
如果你不想触发编辑但只想保留原始提交消息,你也可以添加 -C HEAD
(我经常这样做,所以这是我使用的别名):
git config --global alias.amend "commit --amend -C HEAD"
我有时会不小心输入 git commit -amend
,而我真的想输入 git commit --amend
。 Git 检测到并问我
$ git commit -amend
error: did you mean `--amend` (with two dashes ?)
太棒了。
然而,有时我写 git commit -ammend
然后 git 会接受它并将我的拼写错误视为 git -a -m "mend"
,所以它只是提交日志消息 "mend".
我正在寻找一种方法来阻止 git 这样做。我试图为 git commit -ammend
定义一个别名,但暂时失败了。您对如何处理这个问题有什么建议吗?
git commit --amend
(正确拼写)实际上比git commit -a -m "mend"
更危险。前者会重写现有的提交,用新的提交替换它,所以这或多或少是一个破坏性的命令。然而,后者 只是 创建一个你不打算做的提交。这是一个建设性的命令,它不会重写任何现有的历史,而只会增加它。
添加一个你不打算添加的提交可能很麻烦,但根本不是问题。您可以使用 git reset --soft HEAD~1
简单地撤消该提交(不会丢失任何内容)。这将在不影响您的工作目录的情况下将分支指针重置为提交之前。
当然,你也可以撤消对commit的修改,但这是一个更具破坏性的命令,你需要小心一点。
所以我个人不会为 Git 错误的解释而烦恼。是的,这很烦人,但仅此而已。当你注意到它时就撤消它。
我个人建议为 git commit --amend
创建一个别名,尤其是当您发现自己更频繁地修改提交时。我个人使用git amend
。您可以使用以下命令进行设置:
git config --global alias.amend "commit --amend"
如果你不想触发编辑但只想保留原始提交消息,你也可以添加 -C HEAD
(我经常这样做,所以这是我使用的别名):
git config --global alias.amend "commit --amend -C HEAD"