2015-06-18 172 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