现在我们有两个主要分支:develop
,其中包括所有最前沿的功能,以及master
,它基本上是生产就绪的。当我们进行产品发布时,有时我们只想在develop
到master
中发布一些质量保证通过的功能,并将develop
中的所有其他功能保留为QAing。我知道我们可以从cherry-pick
到develop
进行master
。但问题首先是,一个接一个地挑选它是一种乏味和麻木。其次,这有时可能会在您的历史记录中创建重复提交,因为git不理解那些cherry-pick
ed提交实际上是相同的。那么还有更好的干净方法吗?
答案 0 :(得分:1)
我无法想到使用当前工作流程的更好方法,但如果您针对不同功能使用不同的分支,那么这将变得更加容易。您可以merge
将分支添加到develop
进行测试,对功能分支进行必要的更改,然后merge
进入master
,当它通过QA时。合并将保留分支历史记录,允许git跟踪已经应用于不同分支的提交。
对各种git workflows here有一个很好的描述,但是关于哪个是最好的是一个意见问题。