fatal: No url found for submodule path 'xxx' in .gitmodules

遇到一个问题:切分支的时候,git会报:

fatal: No url found for submodule path 'x/x' in .gitmodules

但是找了一下,虽然之前使用了submodule,但是并没有这么一个文件的存在。

查了一下:https://stackoverflow.com/questions/4185365/no-submodule-mapping-found-in-gitmodule-for-a-path-thats-not-a-submodule/4185579#4185579

用这条指令:

git ls-files --stage | grep 160000

其中,160000是git为submodule预留的一个特殊mode:
https://stackoverflow.com/questions/737673/how-to-read-the-mode-field-of-git-ls-trees-output
https://stackoverflow.com/questions/1992018/git-submodule-update-needed-only-initially/2227598#2227598

发现index中确实存在这么一条记录:

160000 b4b26100fba8a5c23bfef75560041d15057a8dc5 0	x/x

删之:

git rm --cached x/x

cherry-pick到其他分支,完成。


License: CC BY-SA 4.0

Contact