2013-11-26 44 views
0

我一直在想如何實現下面的目標很長一段時間。認爲我不是Git的專家,有足夠的知識去創造一個好的基礎設施。你們中的任何人都可以給我這些建議嗎?遠程Git倉庫基礎架構建議? (藍色地圖)

場景:

產品 A,B,C 客戶 X,Y,Z

Client X has Product A only. 
Client Y has Product A and B. 
Client Z has Product B and C. 

最初我想的基質應該是回購A,B和C分別與如果客戶端對產品有特定請求,它們中的每一個都將在不同的文件夾中具有單獨的模塊。但是後來有一些事情出現在我的腦海裏,如果我從回購A拿取並拉出來,該怎麼辦?單獨的模塊會一次拉到一起嗎?我應該怎麼做,或者其他更好的基礎設施?

回答

1

如果我從Repo A中取出並拉出,該怎麼辦?單獨的模塊會一次拉到一起嗎?

否:每個回購是獨立的。

我會推薦三個額外的回購,以便參考正確的submodules

  • RepoXClient X:引用一個子模塊A
  • RepoYClient Y:引用兩個子模塊AB
  • RepoXClient Z:引用兩個子模塊BC

的想法(有子模塊)記錄確切的SHA1 o f爲給定客戶需要的每種產品。
這樣一來,如果你拉一個Product回購:

  • 它不會對其他Product回購
  • 你回到上一級父回購(一Client回購)任何影響,加並提交子模塊的新狀態,記錄您在子模塊中所做的更改。
+0

您好,我大致有這樣的想法,說有額外的回購部署子模塊。但通過參考這個網站http://git-scm.com/book/en/Git-Tools-Submodules我的眼睛開始變得暈眩..這是唯一的選擇嗎? –

+1

@EricT是的,但子模塊非常簡單:'git submodule add/url/to/RepoA repoA'。 'git子模塊更新--init'。完成。我記錄更多的子模塊在http://stackoverflow.com/a/1979194/6309 – VonC

+0

還有1個問題,因爲我讀子模塊是在一個子目錄中創建的。如果項目是框架樣式,這不是一個問題,就像你需要一個控制器中的文件夾,另一個在視圖中,另一個在模型中?如何克服這種情況? –