gpt4 book ai didi

git commit --amend 是危险的

转载 作者:太空狗 更新时间:2023-10-29 13:02:20 24 4
gpt4 key购买 nike

有时我真的想 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",所以它只是提交日志消息“修补”。

我正在寻找一种方法来阻止 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 是危险的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41287891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com