修改最后一个git commit消息会创建分歧的功能分支版本?

时间:2015-06-01 09:26:12

标签: git version-control

我有一个功能分支,想要改变以前的提交消息。在那里我执行一个命令:

git commit --amend

当提交尚未推送时,它按预期工作,因此创建了一个新提交并替换为前一个提交(本地)。但是,如果将提交推送到远程分支,则会创建分支分支版本,因此我看到1次拉动和1次推送。因此,我需要进行提交合并,实际上通过创建全新的提交将更改的提交合并到功能分支中。但是,我不需要这个冗余提交。

我知道我们永远不应该改变公共分支机构的提交,但这是我个人的功能分支,我用它来推动,有时在家工作,因此我需要推动。所以问题是,它是预期的行为还是我遗漏了一些东西,这就是我被要求执行合并提交的原因?

1 个答案:

答案 0 :(得分:2)

似乎你理解你所描述的场景中git行为背后的基本原理。如果您是唯一一个提交到此分支的人,那么在将分支推送到远程仓库时使用-f标志可以完成合并,如下所示:

git push -f origin master