如何删除对分支进行的所有合并。我并不是在谈论恢复单一合并。
详细了解详情。我在两个独立的分支机构工作,非常密切相关。分支"工具"和分支"功能"。分支"功能"依赖于分支"工具"中的特定工具。因此,在项目的整个生命周期中,我合并了来自" tools"分支到#34;功能"科。 (从不相反)
由于该功能接近它的开发结束,我们决定继续前进并制作"功能"单独进入即将发布的版本。 "工具"还没有被发布,所以我们为#34; feature"提供了一些代码。没有"工具"工作。但是"工具"仍然在"功能"。如何删除分支"工具"?所做的所有提交或合并?
我在考虑使用git-rebase -i,但是如果没有足够的详细信息,我可以通过太多的提交来删除。还有另一种方法吗?
--->Master--\ #Feature Branch Created from Master, and Master merged into Tools.
\
--->--->Tools \---------\------\------\-------\---->--------->
\ \ \ \
Feature |---------\------\------\-------\--->[Finished]
有没有办法这样做,其中B = Feature-Branch和A = Tools-Branch git rebase(B-A) 任何帮助都会被批准。谢谢!
答案 0 :(得分:1)
您需要分两个阶段执行此操作:
git cherry-pick <list of commits in tools that you actually need>
git rebase --onto master tools feature
(这将删除分支tools
中的所有剩余feature
次提交,而是使用master
上的版本您可能会有几次猜测确实需要什么,所以要非常熟悉大多数分支管理命令的git reflog
和--abort
标志。 / p>