我知道有许多问题与"非快进分支推送相关联#34;。我见过他们,我找到了一个我认为最好的答案,因为我不想强行推(this one)
我的问题是在合并之前我有:
* afd733f (HEAD, feat/fix_branch) comment32154
* 424ab31 comment6543
| * d73a555 (origin/feat/fix_branch) comment6543
|/
* d7f3fad (origin/branch, branch) comment6541
现在,我是怎么得到这样的?我不知道......
但我已完成answer mentioned before中的步骤,现在就是这样:
* 4cd3543 (HEAD, origin/feat/fix_branch, feat/fix_branch) Merge branch 'feat/fix_branch'
|\
| * d73a555 (origin/feat/fix_branch) comment6543
* | afd733f (HEAD, feat/fix_branch) comment32154
* | 424ab31 comment6543
|/
* d7f3fad (origin/branch, branch) comment6541
我只是想在没有一种循环的情况下修复它。我只想要一条线。是否有可能返回并有类似的东西:
* 4cd3543 (HEAD, origin/feat/fix_branch, feat/fix_branch) Merge branch 'feat/fix_branch'
|
* afd733f comment32154
* 424ab31 comment6543
|
* d7f3fad (origin/branch, branch) comment6541
答案 0 :(得分:1)
当然,如果这是您的本地副本,但是自从进行更改后,您已将推送您的分支回原点。这使事情变得复杂。
如果,当你第一次接受循环时,你已经注意到它并且刚刚完成了
$ git reset --hard HEAD^ # discard the merge commit you don't like
$ git rebase origin/feat/fix_branch
你有你想要的结果。
现在,您仍然可以这样做,但是您必须强制将其推回原点,如果其他人撤销您的合并提交,这就会出现问题。
请注意,您链接的问题根本没有解决这个问题 - 它描述了如何避免首先导致问题,OP位于错误的分支上。
总的来说,我不打算修复这个"循环" - 在历史上看到合并提交没什么可怕的。
但是,如果您希望将来避免使用它,请使用git pull --rebase
。您甚至可以将其配置为默认值。