gpt4 book ai didi

git - 如何删除子模块?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:17:22 30 4
gpt4 key购买 nike

如何删除 Git 子模块?为什么我做不到git submodule rm module_name?

最佳答案

在现代 git 中(我在 2022 年写这篇文章,更新了 git 安装),这变得相当简单:

  • 运行 git rm <path-to-submodule> ,并提交

这将删除 <path-to-submodule> 处的文件树,以及子模块在 .gitmodules 中的条目文件。 您的存储库中子模块的所有痕迹都被删除了。

作为the docs note然而,.git子模块的目录保留在周围(在主项目的 modules/ 目录的 .git 目录中),“可以检查过去的提交,而无需从另一个存储库中获取”。
如果您仍想删除此信息,请手动删除 .git/modules/ 中的子模块目录。 ,并删除文件中子模块的条目 .git/config .这些步骤可以使用命令自动执行

  • rm -rf .git/modules/<path-to-submodule> , 和
  • git config --remove-section submodule.<path-to-submodule> .


较早的社区 wiki 说明:

通过页面 Git Submodule Tutorial :

要删除子模块,您需要:

  1. .gitmodules 中删除相关部分文件。
  2. 上演 .gitmodules变化:
    git add .gitmodules
  3. .git/config中删除相关部分.
  4. 从工作树和索引中删除子模块文件:
    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

另见:alternative steps below .

关于git - 如何删除子模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49118429/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com