【发布时间】:2016-10-13 01:10:03
【问题描述】:
我们正在使用 git 来跟踪开发和版本化版本,并在合并分支时遇到了一些问题。这是我们的工作流程:
production/1.0.0 A--B
stage/2.0.0 A--B--C--D
development E--F--G--J--L
\
feature H--I--K
功能开发发生在从开发中创建的功能分支上,并在准备好后合并回来进行演示和测试。
这一切都很好,问题是当创建该功能分支的开发人员将他们的功能放入阶段分支进行部署时。因为他们在G分支开发,当他们去合并的时候,他们只想合并HIK的时候包括EFG。
我们的 git 工作流的目标是让开发人员标记他们自己的代码以准备发布,并且协调整个开发分支将能够合并到部署分支中是不可行的,因为开发发生在世界各地。
是否有一个 git 命令来合并功能分支上的提交?我知道rebase和cherry pick,但是一个特性可以由大量的提交组成,开发中的合并可以赶上它们的特性分支。有没有更好的解决方案?
这个工作流程正确吗?我们是否正在尝试做一些不可持续的事情?
【问题讨论】:
-
git checkout stage/2.0.0;git cherry-pick G..K -
如果将开发合并到 I 和 K 之间的功能中会发生什么(开发人员缓存他们的分支)樱桃选择是否还包括该合并以及所有开发分支代码?跨度>
-
@Cale 我已更新答案以回答您的评论。
标签: git git-branch git-merge git-rebase git-workflow