2013-06-26 49 views
1

嘿傢伙我一直在想這是否可行?我一直在思考它幾個小時,我無法把它纏住它!假設我有X客戶對電子商務/ cms系統感興趣(基本上是什麼),在我的完美世界中,我想有這種情況(如果你認爲我瘋了說服我,否則請!我是打開不同的建議):Git工作流多個存儲庫和重新綁定(?)

軟件庫(A)是電子商務系統CMS或,在它的最新版本。哪些會根據供應商發佈週期進行定期更新。 (是的,我知道這裏可能不是最好的軟件依賴關係版本,但是如果這個3層「蛋糕」實際上是可行的,我很感興趣)。

Design Repository(B),其中多個包含某些基礎樣式的起點。綁定到軟件供應商的方法。

客戶端存儲庫(C),這將是A的主人的初始結賬,包含某種設計風格,比如說B-2。並將與具體的客戶端功能,風格等更新

現在,讓我們說,我們已經讓客戶滿意我們的項目,我想讓他們甚至更高興保持他們的CMS /電子商務解決方案的安全提供定期更新,有沒有(簡單)的方式做這種工作方式的:

  1. 更新與電子商務/ CMS軟件的新版本的軟件倉庫
  2. 提交這些更改
  3. 拉這些變化轉化爲相應的設計(當然,如果需要的話,會產生多個)。並提供設計中的新功能的更新或什麼是。
  4. 將這些更改提交到特定的設計庫中。
  5. 現在我們開始拉動我們的客戶端存儲庫,並使用之前的更改進行更新,在此之後 - 我們可以部署。

我似乎弄清楚這一點的唯一方法是基於git-rebasing在一個存儲庫中,在幾個分支之間,但是這似乎並不是我理想的解決方案。

我是瘋子嗎?或者我需要一個鱒魚,並得到一個簡單的解決方案?

感謝您花時間閱讀/回覆!

回答

0

這聽起來對我來說更好1)啓用軟件的不同配置,如果失敗2)使用Git分支。

我認爲維護一個代碼庫會更容易。嘗試啓用大部分差異作爲基於配置文件或類似配置的配置。

如果您確實需要在不同版本的代碼中存在較大且永久的差異,請使用永久Git分支,以便您至少可以在分支之間輕鬆地使用mergecherry-pick功能和修補程序。

+0

我已經稍微調整了我的問題,我不想結束超過100個客戶端在一個單一的存儲庫中,你會推薦什麼? – wtfzdotnet

+0

@wtfzdotnet但肯定這100個客戶不會都有非常不同的需求?你能參數化差異嗎? –

+0

說客戶端的特定(購買)插件,客戶端之間的這些包會有所不同,但佈局的最初基礎是相同的。例如。客戶端A沒有獲得退款插件,因爲他們沒有選擇它,但客戶B想要它並獲得它(甚至可以在第四個存儲庫中維護它)? – wtfzdotnet