我在 git 中使用了很多本地主题分支,有时最终主题分支之间的依赖关系会导致 rebase 问题。例如,结构如下:
master ---> featureA ---> featureB
\--> featureC
如果 master
发生变化并且我在 rebase featureA
时遇到(并解决)冲突,然后再将 featureB
rebase 到 featureA
会触发相同的冲突(有时还会引发新的冲突),因为它会尝试重新应用来自 featureA
分支的补丁。假设如果精心挑选,featureA
和 featureB
之间的实际补丁将干净地应用,那么在这种情况下是否有一种方法可以进行与 cherry- 大致相同的效果选择 featureA
和 featureB
之间的所有提交?
最佳答案
rebase featureA
后,你可以做
git rebase --onto featureA oldFeatureA featureB
假设 oldFeatureA
表示在您对其进行 rebase 之前在 featureA
顶端的提交(您可以在那里保留另一个分支,或者只记住提交哈希)。
这基本上应该与将 A 和 B 之间的每个提交挑选到 A 的 rebase 版本上基本相同。
Documentation on git-rebase (包括对一些更复杂的 rebase 操作期间发生的事情的一些有用的图片解释)
关于git - rebase 依赖主题分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546666/