2013-02-22 76 views
2

我們目前有一個相當大的子模塊(大約10GB)的git倉庫,從服務器克隆它需要相當長的一段時間。我想將本地副本保留在我們的項目目錄中,並將其用作構建的原點。項目目錄存儲在NFS安裝的驅動器上。是否可以硬連接本地git子模塊存儲庫?

Git在使用--local或just/path/to/repo進行克隆時,會與原始存儲庫建立硬鏈接,但似乎並未爲子模塊回購製作硬鏈接。我會期待

git clone --local --recursive /path/to/origin mycopy 

創建所有回購的硬鏈接。我能告訴git也使用子模塊的硬鏈接嗎?

+0

是怎樣的路徑指定的子模塊? – Chronial 2013-02-22 10:53:45

+0

據我所見,只是「sub1」,「sub2等。sub1/.git文件看起來像這樣:gitdir:../.git/modules/sub1 – Gunnar 2013-02-22 11:38:06

+0

後'git/config'的內容,請 – Chronial 2013-02-22 11:49:18

回答

0

我不認爲這是可以用的buildin命令來完成,但你可以git submodule init(或同等學歷)命令之前修改.gitmodules文件並在以後恢復原:

git clone --local /path/to/origin mycopy 
sed -i '/path = /{h;s,.* = ,,;x};/url = /{s, = .*, = /path/to/origin,;G;s,\n,,}' mycopy/.gitmodules 
git -C mycopy submodule update --init 
git -C mycopy checkout -- .gitmodules 
相關問題