我试图从项目中删除一个子模块已尝试rm -rf .git/模块/子模块路径在那之后我就有问题了
致命错误:不是git存储库
ht4b089n1#
这两个文件包含绝对子模块路径:
{submodule}/.git .git/modules/{submodule}/config
因此,如果您移动了存储库,这两个文件中的绝对路径将无效,并导致“not a git repository”错误。只需手动修复这些文件即可。
更新日期:
1.)从.gitmodules文件中删除相关部分。您可以使用以下命令:
git config -f .gitmodules --remove-section "submodule.submodule_name"
2.)暂存.gitmodules更改
git add .gitmodules
3.)从.git/config中删除相关部分。您可以使用以下命令:
git submodule deinit -f "submodule_name"
4.)删除gitlink(无尾部斜杠):
git rm --cached path_to_submodule
5.)清除.git/模块:
rm -rf .git/modules/path_to_submodule
6.)确认:
git commit -m "Removed submodule <name>"
7.)删除现在未跟踪的子模块文件
rm -rf path_to_submodule
bxpogfeg2#
我遇到了这个问题,在我的主仓库中没有.git/modules目录。我有一个子模块'build',所以只是删除了所有引用并重新初始化它:
.git/modules
rm -rf .git/modules rm -rf build git submodule init git submodule update
ctzwtxfj3#
我刚碰到这个问题。在我的例子中,这是由于 checkout 分支具有不同的子模块。
由于某种原因,它们无法使用以下项进行初始化:git submodule update --recursive --init我需要手动删除此文件/目录才能正常更新。
git submodule update --recursive --init
{submodule-path}/.git .git/modules/{submodule}/config
xoshrz7s4#
当我将一个git仓库移到另一个文件夹时,我遇到了这个错误。
{submodule}/.git
我看到一行带有“绝对”路径,例如:
gitdir: /Users/ajx/Documents/repo/.git/modules/{submodule}
我将其更改为 * 相对 * 路径,例如:
gitdir: ../../.git/modules/{submodule}
我不知道为什么git会硬编码绝对路径...
7y4bm7vi5#
您只需更新.git文件即可nano {我的子模块}/.git使用正确的gitdir。因为我认为你更改了文件夹的路径
yqlxgs2m6#
在我的情况下,当我尝试git commit -m "***",这个问题发生:致命错误:不是git存储库:库-sp18/../.git/模块/库-sp18我的解决方案:删除库中的.git文件-sp18和git init
git commit -m "***"
.git
git init
nvbavucw7#
1.从资料档案库.git/config中删除子模块部分1.删除子模块目录:
.git/config
rm -rf {submodule-path} rm -rf .git/modules/*
这些都是保存子模块信息的区域
7条答案
按热度按时间ht4b089n1#
这两个文件包含绝对子模块路径:
因此,如果您移动了存储库,这两个文件中的绝对路径将无效,并导致“not a git repository”错误。只需手动修复这些文件即可。
更新日期:
1.)从.gitmodules文件中删除相关部分。您可以使用以下命令:
2.)暂存.gitmodules更改
3.)从.git/config中删除相关部分。您可以使用以下命令:
4.)删除gitlink(无尾部斜杠):
5.)清除.git/模块:
6.)确认:
7.)删除现在未跟踪的子模块文件
bxpogfeg2#
我遇到了这个问题,在我的主仓库中没有
.git/modules
目录。我有一个子模块'build',所以只是删除了所有引用并重新初始化它:ctzwtxfj3#
我刚碰到这个问题。
在我的例子中,这是由于 checkout 分支具有不同的子模块。
由于某种原因,它们无法使用以下项进行初始化:
git submodule update --recursive --init
我需要手动删除此文件/目录才能正常更新。
xoshrz7s4#
当我将一个git仓库移到另一个文件夹时,我遇到了这个错误。
我看到一行带有“绝对”路径,例如:
我将其更改为 * 相对 * 路径,例如:
我不知道为什么git会硬编码绝对路径...
7y4bm7vi5#
您只需更新.git文件即可
nano {我的子模块}/.git
使用正确的gitdir。
因为我认为你更改了文件夹的路径
yqlxgs2m6#
在我的情况下,当我尝试
git commit -m "***"
,这个问题发生:致命错误:不是git存储库:库-sp18/../.git/模块/库-sp18我的解决方案:删除库中的
.git
文件-sp18和git init
nvbavucw7#
1.从资料档案库
.git/config
中删除子模块部分1.删除子模块目录:
这些都是保存子模块信息的区域