2015-06-18 175 views
0

假设我有几个任务,并且每个任务都是在分支中开发的。我也有三个分支:develop,qa,生产。通常我把每张票合并到开发当时是准备好Git合并细节提交

我怎么能合并成QA生产我只从分支所需的任务制定

例子:

TASK1TASK2TASK3,我合并开发TASK1,那么TASK2,那么TASK3。我删除了3个任务分支。现在我需要将task1的提交合并为qa。我怎样才能做到这一点?

+0

一旦你在task2和task3中合并,你就不能很准确。如果你在task1中合并,并且没有额外的提交被合并到task1中,那么'git合并commit_sha_for_task1'到QA分支中。否则,你会留下樱桃采摘个人承诺。基本上,除非您已准备好进行QA任务,否则不要将其合并到开发中。您可能只想将task1分支部署到QA进行初步测试。 –

回答

1

未来,如果您希望将任务分支合并到QA中,我不会删除任务分支(尽管我会推荐完全不同的工作流程,如Git flow)。如果您确实已经删除了任务分支,则可以使用以下方法恢复它们:git branch task1 ABC^2,其中ABC是您将task1合并到develop中的提交。然后,简单地将task1合并到QA中。

1

如果您只希望合并来自特定分支的提交,那么从特定分支合并它们是最简单的方法。如果您从远程(但不是本地)删除了分支,则还原远程并合并(出于记录目的)。如果您已从远程和本地删除,请查看终端历史记录以查看是否仍有SHA,然后重新创建分支(通过git checkout <SHA> && git checkout -b <branch_name>),然后从此处继续。否则,你将不得不在分支机构中挑选它们,并且根据它们是否是快进提交或不提交,这将变得更加棘手。

使用developmentqa分支是有点可疑;我会假设测试会发生在developmentqa上,但不是两者都有。

如果打算将其中一个分支视为整合分支(释放的所有代码汇总到一个点),请单独使用developmentqa