gpt4 book ai didi

git - 如何将 Git 子模块移动到子目录?

转载 作者:IT王子 更新时间:2023-10-29 00:46:21 25 4
gpt4 key购买 nike

伙计们,我刚刚使用子模块来组织一些 Git 仓库,这是地址: repos

我想将所有子模块移动到一个名为 repos 的新目录中,例如 jquery -> repos/jquery。

我更改了 .gitmodules 文件,但它似乎不起作用。我该怎么办?

最佳答案

从 git 1.8.5 开始,

git mv old/submod new/submod 

按预期工作并为您完成所有管道工作。您可能需要使用 git 1.9.3 或更新版本,因为它包含子模块移动的修复。

致谢:来自下方评论的 Mike Lowerey

原始答案

刚才遇到了同样的问题,最终删除了子模块引用(如概述 in this article )并在我想要它去的地方重新创建它。

按照您的示例将子模块 jquery 移动到 repos/jquery

  1. .gitmodules 中删除(通常为三行)子模块引用。
  2. 检查 .git/config 以获取对子模块的引用并删除它们(如果存在)
  3. 执行 git rm --cached jquery 将子模块引用从存储库中删除
  4. 删除旧的子模块文件夹
  5. 使用 git submodule add git://github.com/jquery/jquery.git repos/jquery
  6. 重新创建您的子模块引用(就像您之前可能做的那样)

如果你的子模块是 set to specific tag, respectively commit (你肯定会在一个稳定的项目中拥有它)你会再次设置它。

由于这个复杂的过程,我强烈希望有(或将会,至少在 git 路线图上)更直接的方法来实现这一目标。如果没有,肯定可以将一些脚本拼凑在一起以更快地完成此操作...

关于git - 如何将 Git 子模块移动到子目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10663527/

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