2010-05-13 33 views
3

通常,當我啓動一個新的應用程序時,我會爲它創建一個新的git存儲庫。當我想分享我的代碼時,這很好,並且和Github很好。Git + SoA,一個還是很多?

在工作中,我在一個面向服務的體系結構中工作。一種非常常見的模式是同時向兩個不同的應用程序添加一些代碼 - 可能會添加一個帶有RESTful接口的模型和一個用於在另一個上管理它的Web前端。在這種情況下使用單獨的git倉庫有一些疣。

這裏是我所看到的是在做不同的版本庫的缺點:

  1. 我犯兩次
  2. 我不能correllate相關承諾得很好
  3. 沒有一個單一的地方,回去追溯歷史 - 我很想能夠把我的這一天所有提交在一個地方
  4. 忘記拉一個回購或另一種是疑難雜症

另一方面,我使用perforce很多,它的一個巨型倉庫模型也有很多瑕疵。 Perforce的功能旨在幫助你,git不會。

有沒有其他人遇到過這種情況?你是怎麼處理的呢?什麼運作良好,什麼沒有?

回答

1

如果您的不同回購是同一全球應用程序的一部分,您可以將它們作爲submodules within a main project
從那裏你可以:

  • 項目P1提交子模塊只有一次(如果一個子模塊需要在另一個項目P2被重用,你去其他項目P2內,在子目錄參考所述子模塊你只是承諾在P1,結賬犯下,回到上一級,並承諾其他項目P2,因爲P2必須引用相同的承諾使P1)

  • 所有相關提交由主項目中引用

  • 一個「超級主力」項目可以參考所有你的子模塊在那裏,爲了讓你有一個「單一的地方回去和跟蹤歷史」

  • 你只需要拉的主要項目,這將拉動右側的子模塊的引用。

+0

這可能只是伎倆。之前我沒有聽說過一個子模塊。這些(大部分)是獨立的Rails應用程序,它們通過RESTful接口相互通信。客戶端庫進入不同的應用程序可以使用的寶石。 – edebill 2010-05-13 22:51:25

相關問題