git 的“-a”选项如何提交写入提交消息?

How does "-a" option for git commits write commit messages?

我搞砸了 git commit 命令。首先,我使用 -a 选项而不是 --amend 选项。我还拼错了 --amend 选项。

C:\Users\Slew\Documents\my-repo>git commit -ammend -m "fix links in default layout"
[main 97328ff] mend
 2 files changed, 61 insertions(+), 8 deletions(-)

当我在 GitHub 上查看存储库中的提交历史记录时,我看到名为 mend 的提交旁边有三个点。如果我单击三个点,它会显示另一条消息,这是我最初想要的提交消息 - fix links in default layout.

-a 选项实际上如何命名此提交以及我不小心添加的那个额外字母“m”发生了什么?

-am 对于 -a -m 是 shorthand,其中 m 之后的 mend 被解释为 -m 的参数。

此外,选项 -m 可以重复,git commit 收集字符串并将所有字符串(以空行分隔)添加到提交消息中(参见 https://git-scm.com/docs/git-commit#Documentation/git-commit.txt--mltmsggt)。

所以上面的命令是git commit -a -m mend -m "fix links in default layout".