我有一个功能分支,想要改变以前的提交消息。在那里我执行一个命令:
git commit --amend
当提交尚未推送时,它按预期工作,因此创建了一个新提交并替换为前一个提交(本地)。但是,如果将提交推送到远程分支,则会创建分支分支版本,因此我看到1次拉动和1次推送。因此,我需要进行提交合并,实际上通过创建全新的提交将更改的提交合并到功能分支中。但是,我不需要这个冗余提交。
我知道我们永远不应该改变公共分支机构的提交,但这是我个人的功能分支,我用它来推动,有时在家工作,因此我需要推动。所以问题是,它是预期的行为还是我遗漏了一些东西,这就是我被要求执行合并提交的原因?
答案 0 :(得分:2)
似乎你理解你所描述的场景中git行为背后的基本原理。如果您是唯一一个提交到此分支的人,那么在将分支推送到远程仓库时使用-f
标志可以完成合并,如下所示:
git push -f origin master