2013-07-02 64 views
1

新來的git,我搜查了很多,沒有找到一個強大的解決方案。svn external for git?

我得到了2個項目,A和B.
A包含[A code][SHARED CODE],B包含[B code][SHARED CODE]

使用svn,我可以在項目B中放置svn外部項目,鏈接到項目A的子目錄,即A->[SHARED CODE]

但是,它似乎git不允許部分克隆,所以如果我選擇子模塊,我必須使它3個項目:SHARED CODE,AB,這是痛苦的。

更糟糕的是,當我在做一些A->[SHARED CODE]變化(這是一個子模塊),似乎挺難承諾,推動它,並在B一個git pull操作不會自動拉最新代碼B->[SHARED CODE]

因此,任何方便的解決方案呢?謝謝。

+0

似乎http://blog.quilitz.de/2010/03/checkout-sub-directories-in-git-sparse-checkouts/comment-page-1/是一個解決方案,但尚未弄清楚,但在它上面工作。 – user2530437

回答

2

然而,子模塊仍然是正確的解決方案,尤其是因爲git1.8.2:

請參閱「Git submodule new version update

子模塊可以被配置爲遵循最新的一個分支,因此這將是足夠的更新所有子模塊的最新承諾:

git submodule update --remote 

是的,這意味着3個回購,但是這是一個混帳回購協議應該發揮的作用是一致的:它代表着「組件」,這是一個連貫的組文件與自己的獨立歷史。

+0

謝謝朋友,但目前我更喜歡稀疏結帳 – user2530437

+0

@ user2530437在http://stackoverflow.com/a/13738951/6309,我想?看上去不錯。 – VonC

+0

@ user2530437小心:這不是git方式,可能會在未來導致您的問題。 Git不是svn,如果你試圖這樣做,它會抵制;)。 – Chronial