雖然這與線程Git-flow and master with multiple parallel release-branches和What's best way to work with git on multiple master branch?類似,但它並不完全相同......我確實發現這個很類似:Multiple projects with same GIT master,但我想討論一下我的具體用例......帶有多個主分支的Gitflow
我工作的公司正在爲我們的Git工作流程建立政策和程序。我們想要使用文章http://nvie.com/posts/a-successful-git-branching-model/或 https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow中描述的「Gitflow」模型,並在有關此問題的許多討論中經常參考。
然而,我們有一個使用案例,其中我找不到一個解決方案的要求。如果您的項目用於生產多個最終產品會怎樣?因此,主分支不能像「單一產品」那樣表示「發佈點」。看來主人可能需要替代分支?那麼多個並行發佈分支?
例如,如果項目是骨幹或引擎,可能會有不同的皮膚,味道或變體,但您希望將每個完整的最終產品存儲在一個存儲庫中?
在我的特殊場景中,我有一個運行在Linux服務器上的程序,但它也是作爲本地Windows應用程序分發的。在這些不同的版本中,項目的大塊可能包含或不包含在一個或其他版本中。舉例來說,如果回購僅用於服務器,則不需要包含服務器上的庫,但是必須將其包含在本地分發中,否則它們不存在。我想在特定發佈點將更新推送到服務器上,但省略不屬於此類的那些部分。
從master分支,我會創建一個「Server Release」和「Local Release」分支嗎?
開發分支(和它的功能)從哪裏脫落?我不想要多個開發分支,每個分支都來自它自己的版本,因爲代碼開發事實上99%都適用於這兩者。我是否需要將一個開發分支合併爲一個,然後是另一個版本?
我同意。如果代碼大致相同,則有一個存儲庫,並且只需將不同的部署腳本/工具(例如'ant'files)添加到此存儲庫中。 Git-Flow應該在這裏工作。 – mstrap
謝謝mvd。這有幫助。我仍然在學習這種分支模型,並且通過查看次要來源,我顯然被誤導入Gitflow。看看主要來源,我看到了發佈分支是如何暫時的,而不是發展。我雖然釋放了一個永久的中間人,最初來自主人,然後開發者來自那裏。結果,我提出的解決方案很糟糕。我喜歡2主分支的想法。這與我的真正意思相似。我現在正在和這裏的團隊交談。如果我們實施你的計劃,我會除了這個答案。 – BuvinJ
還有其他模式,發佈分支是長壽的。工作從開發開始,併入主(一旦它被認爲足夠穩定以便測試),並且當.0標籤被標記時發佈分支從主分支分支。不要覺得你必須用git-flow去,因爲它很受歡迎!你有一個獨特的情況,最後你應該選擇一個最適合你公司的策略。 – mvd