我正在处理的 Git 存储库有两个主要分支alpha
和beta
,它们都很相似,并且都在积极处理中。当我在处理一个特性时,它需要被提交到两个分支中。alpha
尽管分支的内容几乎相同,但两者并没有共同的祖先beta
。到目前为止,这都是我公司规定的;我对此无能为力。
我对如何将我在功能分支上执行的操作从这些分支之一复制到另一个功能分支感兴趣。
细节
目前,我的工作流程是在一个特性分支上工作featA
,并定期从一个单独的特性分支上挑选alpha
提交。这导致提交树看起来像下面这样:featA
featB
beta
A---B---C---E---F (featA)
\
D (alpha)
A'--B'--C'--E' (featB)
\
D' (beta)
在这一点上,我将考虑签出featB
并挑选提交F
到该分支上。
这个过程通常可以正常工作,但是相当费力:我在一个分支上所做的任何事情都需要在另一个分支上重复。忘记这样做会产生导致错误的不一致,并且由于(例如)提交B
和之间没有记录的相关性B'
,因此追踪此类错误并非易事。
因为没有共同的父提交,而且我们偶尔会向其中一个提交alpha
或beta
不应该复制的提交,我认为我不能使用git merge
将一个分支上的提交拉到另一个分支。
我可以做一些工作流程改进或自动化来将操作复制featA
到其他分支featB
吗?