2012-08-22 43 views

回答

1

一種方法是,例如在post-receive鉤子中,確保.gitmodules反映出適當的子模塊地址,changing those submodules addresses,然後是git submodule sync

maxmelbin對象:

但改變.gitmodules意味着新的承諾 - 對嗎?

不一定:您可以進行修改而不是提交它,保持純粹「私有」(本地到您的從屬服務器)。

問題是,由於公司在從鏡像所有回購,是有辦法一個子模塊更新時自動選擇本地回購網址,不管是哪個網站的網址在.gitmodules配置爲提交已

我認爲git submodule update命令的參數--reference可以達到這個目的。

--reference <repository> 

此選項僅適用於添加和更新命令。
這些命令有時需要克隆遠程存儲庫。在這種情況下,該選項將傳遞給git-clone(1)命令。
備註:除非您仔細閱讀note for git-clone's --reference and --shared options,否則請勿使用此選項。

+0

但改變.gitmodules意味着一個新的提交 - 對嗎?問題在於,由於所有回購站都在從站中進行了鏡像,是否有辦法在子模塊更新期間自動選擇本地回購站點,而不管在該提交哈希站的.gitmodules中配置了哪些站點URL。 – maxmelbin

+0

@ maxmelbin否:你可以做出修改而不是提交它,以便它對你的從服務器是「私有的」。我編輯了我的答案,以解決您的全部評論。 – VonC