使用Git维护并行工作分支

时间:2012-07-31 16:14:41

标签: git workflow git-branch git-merge

我正在处理的Git存储库有两个主要分支alphabeta,两者都相似且都在积极处理。当我正在处理某个功能时,需要将其提交到两个分支。尽管分支的内容几乎相同,但alphabeta都没有共同的祖先。到目前为止,这一切都是我公司的要求;我无能为力。

我对如何将我在其中一个分支上的功能分支上执行的操作复制到另一个分支上的功能分支感兴趣。

具体细节

目前,我的工作流程是在featA关闭功能分支alpha,并定期从featA挑选提交到单独的功能分支featB off { {1}}。这会产生一个类似于下面的提交树:

beta

此时,我正在考虑将A---B---C---E---F (featA) \ D (alpha) A'--B'--C'--E' (featB) \ D' (beta) 和挑选提交featB签出到该分支上。

这个过程通常可行,但是相当费力:我在一个分支上做的任何事情都需要在另一个分支上重复。忘记这样做可能会产生导致错误的不一致,并且由于(例如)提交FB之间没有记录的相关性,因此追踪此类错误并非易事。

因为没有共同的父提交,我们偶尔会对B'alpha中不应复制的提交进行提交,我认为我不能使用beta把一个分支上的提交拉到另一个分支上。

是否有一些工作流程改进或自动化可以将git merge上的操作复制到其他某个分支featA

1 个答案:

答案 0 :(得分:0)

使用git cherry-pick将提交复制到另一个分支。

http://www.kernel.org/pub/software/scm/git/docs/git-cherry-pick.html