2014-01-17 90 views
0

我有兩個代碼庫,分別叫做ab。項目a提供了項目b所依賴的通用基礎結構。但是,項目b的所有代碼位於項目a的目錄結構的下面。這裏有一個例子:具有相同基本目錄的多個git存儲庫

a File0.cs 
a Assets/Core/File1.cs 
b Assets/Extension/File2.cs 

所以項目a提供File0.csFile1.cs並擁有Assets文件夾。項目b只提供File2.cs

git是否支持這個目錄結構?如果是這樣,怎麼樣?

感謝

+2

推薦閱讀:[哪裏我的git問題go?](http://meta.programmers.stackexchange.com/questions/6311/where-does-my-git-question-go) – gnat

回答

0

而你卻被尋找的被稱爲「子模塊」:

6.6 Git Tools - Submodules

基本上你能告訴混帳,你的倉庫裏的目錄實際上是一個獨立的,跟蹤其他地方。這適用於目錄級別,而不是文件級別。

從那裏,將單個文件分配到特定存儲庫的目錄只是創建符號鏈接的問題。

myapp/ 
myapp/submodule/     <-- submodule repository 
myapp/submodule/foo.c    <-- shared file 
myapp/foo.c -> submodule/foo.c  <-- shared file reference in parent dir 

Windows支持NTFS上的符號鏈接,但它沒有公佈這個事實,使它們稍微難以處理。

+0

NTFS符號鏈接存在更多問題。如果你是admin,你只能用'mklink'命令創建一個。 : - / – 2014-01-17 19:56:01

3

是的,它的確如此。它在git術語中被稱爲「子模塊」。您可以通過git submodule --help獲得幫助。

雖然,它不被視爲很好的風格依賴於子模塊,如果可能的話,使用不同的包/依賴管理者像畫中畫,寶石,NPM,涼亭等

相關問題