2012-09-08 80 views
2

我這個文件夾abc/submodule中有一個子模塊,我用這些命令將其刪除:新的子模塊添加到一個老的子模塊的地方

rm -rf abc/submodule 
# remove submodule in .gitmodules 
# remove submodule in .git/config 
git rm --cached abc/submodule 
git push origin master 

現在我想新的子模塊添加到同一個地方:

git submodule add <link> abc/submodule 

舊子模塊的內容出現而不是新子模塊的內容。我怎樣才能解決這個問題 ?

謝謝先進。

回答

0

git submodule將Git信息存儲在$toplevel/.git/modules/$sm_path中。要完全刪除它,您需要刪除該目錄。你應該能夠做到以下命令:

repo="submodule" 
rm -rf $(cd $repo && git rev-parse --git-dir) 
rm -rf $repo 
git rm --cached "$repo" 
git config --remove-section submodule."$repo" 
git config -f .gitmodules --remove-section submodule."$repo" 

這是一個擴展到git submodule deinit,只做的git submodule init相反。

請注意,在推送前您還需要進行提交(這些更改僅進行了一次)。