2015-05-26 133 views
2

我正在使用下面提到的生命週期來推動生產中的任何更改或功能。設置git進行開發和生產

本地主機(開發人員在本地主機上工作) - >將其更改遷移到分段(對於QA - 可以在其中更改多個開發人員) - >生產。

這裏是我使用的工作流程,

-master(runs on production) 
-staging (runs on staging server - parent master) 
    -feature (parent staging) 

開發商特性分支工作,並把它合併到分期。

我面臨的問題是可能有超過1個開發人員的代碼在舞臺上,如果我想要與1開發人員的代碼一起生活,我不能將舞臺直接融入主人,也不能將功能合併到主人因爲它是升級的孩子,它可以有暫存代碼,這些代碼尚未生效並且不被推送。

需要幫助來定義正確的git工作流程。任何幫助,將不勝感激。

回答

1

我已經使用過一個工作流程,它與您在上述問題中所描述的情況相似。以下是該工作流程的簡要說明:

  • 一個或多個開發人員將處理任意數量的功能分支。每個特徵分支將在每個衝刺開始時從master創建。

  • 在衝刺結束時,當所有特徵完成時,每個特徵分支合併到staging。分段也將從master開始創建。你可以給臨時分支一個唯一的名字以便於引用它,例如2015年5月分公司的staging_05_15

  • 每個衝刺的最後一週將花費測試staging分支以確保其穩定。如果staging分支中的所有功能都正常並且測試通過,則staging將發佈給客戶。

  • 最後,staging被合併回master,並且該循環再次重複進行下一個衝刺。

+0

我試過你提到的解決方案。但是當我從主創建功能分支並嘗試將其合併到分段。它顯示比實際修改的文件更多的修改文件。這看起來是因爲大師在任何情況下都處於暫停階段。 – KishanR

+0

是的,在衝刺過程中,'master'會落後於'staging',但這是設計上的,是不可避免的。你應該按照這個順序合併:'feature' - >'staging' - >'master'。 –