【问题标题】:Cannot remove submodule from Git repo [duplicate]无法从 Git 存储库中删除子模块 [重复]
【发布时间】:2014-02-18 07:56:51
【问题描述】:

我在 Git 存储库中有一个想要删除但无法删除的子项目。在 GitHub Web 界面上,子模块以黑色(或灰色)文件夹图标显示且不可点击。

该文件夹存在一些问题,即使我的本地代码在该文件夹中有文件并且我推送到我的存储库,更改也不会应用于 GitHub 远程。不知何故,这个文件夹被忽略了。我检查了它不在.gitignore 文件中。

在尝试删除我使用的子项目时:

git submodule deinit submodule-name

但它给出的错误是

错误:pathspec 'submodule-name' 与 git 已知的任何文件都不匹配。 你忘了'git add'吗?

这里有什么问题?

【问题讨论】:

  • 尝试删除子模块this way
  • 供参考:github图标可以在这里找到:github.com/styleguide/css/7.0蓝色的用于.octicon-file-directory类,灰色的是.octicon-file-submodule,所以我也猜它与子模块相关。
  • @random 起初我什至不知道带有不同图标的文件夹是子模块。我对此完全陌生。
  • 你的问题说你发现它是一个子模块,你的回答说这个问题也是重复的
  • @random 怀疑它是子模块,带着这个疑问我尝试了一个命令(有问题提到)。那不起作用,因此我认为它可能是一个子模块,也可能不是。第二件事我的问题没有说它是子模块,你编辑它听起来像那样。请通过考虑我不确定它是否是子模块的论点来查看我的旧问题。

标签: git github git-submodules


【解决方案1】:

这工作https://stackoverflow.com/a/1789374/1798394

git rm --cached path/to/submodule
rm -rf path/to/submodule

【讨论】:

    【解决方案2】:

    如果git submodule deinit 失败(可能是因为.gitmodules 没有列出该子模块),请尝试至少删除the index 中的special entry

    git rm --cached submodule-name
    git commit -m "Remove submodule entry"
    git push
    

    灰色文件夹应该会在 GitHub 端消失。

    【讨论】:

    • fatal: pathspec 'submodule-name' did not match any files
    • @frageDE 请提出一个新问题,提供所有相关详细信息(操作系统版本、git 版本……)
    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 2011-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-21
    相关资源
    最近更新 更多