我查找了一段時間,沒有找到答案(也許我不知道該看什麼)。單個子模塊的多次回購
我們有一個主庫,它是一個由它自己存儲的庫(我們稱之爲Lib)它包含了我們大部分的模塊和子模塊。 讓我們也說,它的大小爲2GB ...
現在,我們已經得到了很多項目,如:ProjA,ProjB,ProjC每一個使用庫的子模塊。
ProjA
- 庫(分支:大師,提交#:1)
ProjB
- 庫(分支:其它,提交#:2)
ProjA
- 庫(分公司:主,犯#:4)
因此,雖然我能夠保持每一個項目引用到正確的庫(又名子模塊)的版本。我現在有3 * 2GB = 6GB的相同子模塊。
有沒有辦法引用單個子模塊,同時保持正確的文件/版本引用?
例如,
ProjA
LIB/base_lib.h(V1.0)
LIB/file_only_in_this_commit
ProjB
- LIB/base_l ib.h(V1.0)
ProjC
- 庫/ base_lib.h(V1.1)
謝謝!
不是我所知道的。每個存儲庫只能引用子模塊中的一個SHA,因此您添加了3次。我猜你有這樣的設置,因爲ProjA,ProjB和ProjC都是相互關聯和相互作用的。否則,這可能是3個不同的存儲庫。或者您可以在一個存儲庫中擁有3個分支,在這種情況下,每個分支上只能有一個子模塊的一個版本,從而可以擁有不同的子模塊參考 – houtanb
如果您的目標是節省空間,一個硬鏈接克隆 – basin
@basin有沒有辦法在git中定義這樣的硬鏈接?手動執行您的建議並不能真正解決問題,如果可能,我寧願避免使用腳本。 – Danra