如何在没有push -force的情况下修复混乱(和推送)合并

时间:2017-02-02 09:46:13

标签: git

我的同事要求我协助解决以下问题:

  • 他在分行feature
  • 工作
  • 他将master合并到feature,这导致了大量的冲突
  • 他解决了许多冲突,并采取了他们的#34;或者"采取我的",经常是错误的。
  • 他承诺推动合并。
  • 他意识到自己的所作所为,并寻求帮助。

我的第一直觉是使用branch -f将指针移回,但这需要push --force,这在回购时已被禁用。

第二次尝试是git revert -m,然而它完全恢复了合并并阻止我再做一次,说"已经是最新的" (从技术上讲,所有来自master 的提交都是feature中合并。

作为一个直接的解决方案,我最终放弃了分支并制作了一个新的固定分支。

有没有更好的方法来解决这种不需要push --force的情况?

1 个答案:

答案 0 :(得分:0)

你可以做一个

$ git reset --hard @commit

如果合并是最后一次提交,您可以用@commit替换HEAD^,否则在合并之前替换最后一次提交。

这会让你回到有问题的合并之前的状态。