有可能使用Git子模塊檢出多個存儲庫作爲子模塊到各自的路徑,例如:的Git:結賬子模塊文件到一個目錄
% git submodule add [email protected]/repo1.git ./here/is/1
% git submodule add [email protected]/repo2.git ./here/is/2
但是,如果我需要結帳的repo1
和repo2
兩個內容是什麼成單一路徑,./here/is/3
?
基本上我有一個指標狗屎噸的子模塊回購協議,我需要所有的被檢出到一個非常嚴格的目錄層次結構上,當用戶執行客戶端的git clone --recursive ...
我想要的所有子模塊的內容被檢出到./somepath
。可以做到嗎?
我考慮過的一件事是使用符號鏈接,但感覺不對。
編輯:
我想要的1
和上述2
內容被放置在客戶機上的同一目標目錄。我可以通過讓用戶在克隆後手動運行腳本來完成此操作(it is not possible to have git track a single file),但似乎應該有一種更簡潔的方法來執行此操作 - 爲每個子模塊手動創建符號鏈接需要很多工作,而且看起來像子模塊抽象應該能夠處理這個問題。
也許我的問題是僞裝?
「在他們各自的根目錄」部分是一個問題。我需要將子模塊中的所有垃圾在'git clone'後移動(或鏈接)到客戶端的任意位置。澄清我的問題以反映這一點。 – g33kz0r 2013-02-26 15:52:52
@ g33kz0r我確認一個子模塊總是被克隆在自己的目錄中,而不是在另一個子模塊的目錄中。每個子模塊*必須*在他們自己的目錄中。任何其他組織都是*部署*問題(複製/符號鏈接),但它與git無關。 – VonC 2013-02-26 15:57:32
好的。看起來我必須創建符號鏈接*先驗*,因爲Git沒有後克隆鉤子。 – g33kz0r 2013-02-26 16:00:05