2014-04-16 32 views

回答

1

是它在某種程度上可以初始化爲.gitmodules和力上市拉所有的人所有的submoudules。

您可以刪除所有子模塊目錄,然後重新運行git submodule update。也許是這樣的:

git config -f .gitmodules --list | 
    awk -F= '$1 ~ /.path$/ {print $2}' | 
    xargs rm -rf 

這使用git config列出在.gitmodules的配置,其產生的輸出是這樣的:

submodule.common.path=common 
submodule.common.url=https://github.com/purpleidea/puppet-common.git 

我們使用awk提取路徑信息,然後傳遞到xargs到刪除所有子模塊目錄。運行submodule update隨後將重新填充這些目錄:

$ git submodule update 
Submodule path 'common': checked out '2c0ed2844c606fd806bde0c02e47e79c88fab4a9' 

此外,我想重置所有子模塊,並放棄任何更改本地存在。

因爲我們刪除並重新克隆子模塊,這也將放棄任何局部變化。

+0

工作就像一個魅力! – justrajdeep