Git commit --amend 别名挂起

Git commit --amend alias hangs

我的 ~/.gitconfig 中有这个别名:

[alias]
    am = commit -a --amend -C HEAD

然而,当我 运行 git am 时,它挂起,我在提示符处得到 (master|AM/REBASE),我必须 运行 git am --abort

有一个标准的 git am 命令可以应用(来自)邮箱的补丁。在 git 别名不能覆盖标准命令,所以即使你有一个别名 git am 运行标准命令并且命令等待标准输入的输入。所以它没有挂起,它只是在等待。

将别名重命名为标准 git 命令中没有的名称。

已经有一个git am命令。您的别名无效(因为已经有这样的命令),当您 运行 git am 时,您实际上是在执行此命令。如果您选择了不同的别名,例如 ca("commit amend" 的缩写),它应该可以工作:

[alias]
    ca = commit -a --amend -C HEAD

作为旁注,git commit 有一个 --no-edit 标志,您可以使用它来代替 -C HEAD:

[alias]
    ca = commit -a --amend --no-edit