移动文件夹后无法使用git checkout命令

4
我在带有空格和非 ASCII 符号的文件夹中创建了一个 Git 存储库。这是个糟糕的想法,我知道,但是我认为现在已经是 2011 年了,成熟的程序应该能够容忍这些东西。顺便说一下,我从来没有遇到过任何问题。然而,我决定将其移动到一个更适合的文件夹中。我还创建了一个新分支,并开始在上面工作。它还有一个子模块。
现在,当我尝试切换回 master 分支 (git checkout master) 时,它会显示以下信息:
``` fatal: Not a git repository: F:/������ �����/Visual Studio 2008/Projects/OpenSource/Fubu/fubumvc/.git/modules/buildsupport ```
如何修复?

在 Git 中,repo 的名称是什么? - Abimaran Kugathasan
你是否指定了相对路径的子模块/也将你的子模块移动到了新文件夹中? - knittl
仓库的名称是 fubumvc。我使用 "git submodule update --init" 命令添加了子模块。是的,我复制了包括子模块在内的整个文件夹。问题是(如我在下面自己的答案中写的),git 保留了绝对路径(可能有充分的理由),但也许它也有一个移动子模块的命令? - ulu
1个回答

10

每个子模块都有两个需要编辑的文本文件:

.git\modules\<module>\config
<module>\.git

其中<module>是子模块的名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接