有时候,当我真的想要git commit -amend
的时候,我会意外地输入git commit --amend
。吉特发现了这个,就问我
$ git commit -amend
error: did you mean `--amend` (with two dashes ?)
这太棒了。
但是,有时我编写git commit -ammend
,然后git就会接受它,并将我的拼写错误作为git -a -m "mend"
来处理,因此它只会提交日志消息“修复”。
我正在寻找一种方法来阻止git这样做。我试图为git commit -ammend
定义一个别名,但目前失败了。你对如何处理这个问题有什么建议吗?
发布于 2016-12-22 16:51:48
git commit --amend
(拼写正确)实际上比git commit -a -m "mend"
更危险。前者将重写现有的commit,用新的commit替换它,因此这或多或少是一个破坏性的命令。但是,后者只会创建一个您不打算做的提交。这是一个建设性的命令,没有重写任何现存的历史,而只是增加了它。
添加您不打算添加的提交可能会很麻烦,但一点问题也没有。您可以使用git reset --soft HEAD~1
简单地撤消提交(而不丢失任何内容)。这将在不影响工作目录的情况下重置提交之前的分支指针。
当然,您也可以撤销提交的修改,但是这更像是一个破坏性的命令,您需要谨慎一点。
所以我个人不想让吉特用错误的方式来解释它。是的,这很烦人,但仅此而已。当你注意到它的时候就把它解开。
我个人建议,特别是如果您发现自己更频繁地修改提交,以便为git commit --amend
创建别名。我个人使用git amend
。您可以使用以下ocmmand设置它:
git config --global alias.amend "commit --amend"
如果不想触发编辑,但只想保留原始提交消息(我经常这样做,所以这是我使用的别名),也可以添加-C HEAD
:
git config --global alias.amend "commit --amend -C HEAD"
https://stackoverflow.com/questions/41287891
复制相似问题