我一直在使用git filter-branch来摆脱遗留文件,但是对于一个简单的git repo,我无法弄清楚如何重写我的git历史,其中我的一个git子模块被移除了。
我有一个顶级回购“唐纳德”而在“唐纳德”之下我有四个子模块“Huey”,“Dewey”,“Louie”和“Phooey”[1]。 永远不应该添加“Phooey” - 不幸的是时间过去了。
我发现的最佳参考是git filter-branch remove all submodules from my repo,但有点太多了。
答案 0 :(得分:0)
首先,备份。 Deinit并删除一个模块:
git filter-branch -f --prune-empty --tree-filter '
git submodule deinit -f -- path/to/module &&
git rm -rf path/to/module || :
' HEAD &&
rm -rf .git/modules/path/to/module