我在目录 projects/myRepo
中有一个带有子模块的 git 存储库,我想将该目录重命名为 projects/my-repo
。
根据 this问题可以简单地用 mv
来完成。但是在带有子模块的 repo 中,git 不断告诉我
fatal: Not a git repository: projects/myRepo/.git/path/to/submodule```
即使是 git status
。
子模块配置:
[submodule "path/to/submodule"]
path = path/to/submodule
url = https://github.com/user/projectName.git
不知何故,子模块的“内部路径”没有得到更新?!有没有办法告诉 git 更新这些子模块路径?
最佳答案
更改项目目录后,我也遇到了同样的错误。我有一个 iOS 6 XCode 4 项目,但这不重要。
对于每个子模块,您需要更改它认为自己所在的绝对路径。该路径在该子模块的 .git 文件中设置。子模块中的 .git 是一个文件,而不是标准 git 目录中的一个目录。
对于每个子模块,更改 .git 文件中的 .gitdir 行。这是我的项目中的一个示例:
文件:/path/to/project/submodules/RestKit/.git
之前 gitdir:/path/to/project//.git/modules/submodules/RestKit
之后 gitdir:/path/to/project//.git/modules/submodules/RestKit
关于git - 如何重命名带有子模块的 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878860/