0
在一個跟進的問題在Git submodule add: 「a git directory is found locally」 issueGit的子模塊補充說:「一個git目錄在本地找到」問題
我有很多這樣的子模塊目錄的討論(不知道有多少)
是問題它以某種方式初始化所有在.gitmodules中列出的子組件,並強制將它們全部取出。
此外,我想重置所有的子模塊,並放棄本地存在的任何更改。
謝謝:)
在一個跟進的問題在Git submodule add: 「a git directory is found locally」 issueGit的子模塊補充說:「一個git目錄在本地找到」問題
我有很多這樣的子模塊目錄的討論(不知道有多少)
是問題它以某種方式初始化所有在.gitmodules中列出的子組件,並強制將它們全部取出。
此外,我想重置所有的子模塊,並放棄本地存在的任何更改。
謝謝:)
是它在某種程度上可以初始化爲.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'
此外,我想重置所有子模塊,並放棄任何更改本地存在。
因爲我們刪除並重新克隆子模塊,這也將放棄任何局部變化。
工作就像一個魅力! – justrajdeep