我們對git一般來說比較陌生。我們已經使用了大約6個月,並使用了GitHub和BitBucket。我們嘗試儘可能多地學習使用GitBash,這樣我們就可以獲得git的核心。GitHub流程和版本
我們正處於我們真正想要考慮分支策略的階段,因此我一直在進行一些研究。
在我看來,GitFlow對我們的要求過於複雜。我們總共可能參與20個不同的項目,每個項目每兩個月可能只發布一次。看過GitHub Flow,這似乎是一個非常簡單的選擇,可以滿足我們的需求 - 但它似乎有一個缺陷,我希望人們的意見。
主分支中的任何內容都是可部署的。我們部署到UAT/QA環境,該環境可能會保留3-4周,具體取決於客戶和/或我們簽署所有內容需要多長時間。同時,其他人可能需要完全不同的工作。在這個階段,根據Github Flow的流程,如果該用戶從Master獲得了一個分支,他們將包括此時實際上仍在QA環境中的更改。那麼,我是否誤解了GitHub Flow的第一點 - 即主分支中的任何東西都是可部署的 - 這可能只有在代碼已經通過QA等時纔會響起。
如果是這樣的話,不流實際上看起來更像?:
- 以一個分支從主
- 提交分支的變化(僅回支在這個階段)
- 合併分支與一個單獨的分支稱爲「開發」
- 發佈到QA/UAT
- 當發佈批准後,合併分支與主和部署?
我覺得這是特別1點在GitHub的流量是混淆我們 - 我們何時釋放仍處於QA肯定不應該推回大師 - 這將使主分支潛在不穩定,當然也不是什麼目前正在生產中。
您是不是在那裏提到GitFlow,而不是GitHub Flow? http://scottchacon.com/2011/08/31/github-flow.html – dotdev
@dotdev:在我看來,像OP的設法混淆了'git-flow'和GitHub流程,因此他的困惑。我已經更新了答案。 –
我覺得這聽起來像是混淆了兩者,因爲我已經介紹了一個「開發」分支的概念,它可以簡單地稱爲「DevReleases」。我將這個介紹到GitHub Flow中的反思是因爲如果我們想要部署到QA(使用TeamCity和Octopus),理想情況下我們不希望每次都更新TeamCity來查看新功能分支,即如果QA發佈會更容易總是來自「發展」部門。 – dotdev