在使用git子模块的时候踩了一个坑
在使用git submodule updata --init --recursive
命令,即递归更新子模块并初始化时碰到了一个问题:
经过一段不短时间的排查,发现问题源于之前的一次不成功的子模块换源行为。
.gitsubmodule中的url改动并未同步到git的config中,导致保存时子模块保存的实际是旧源commit hash值。在update的时候,git自动读取项目目录下的.gitsubmodule文件,从新源中检索该hash值的commit,由于两者版本历史不相同,失败了。