使用 Git 移动子模块

发布于 2024-10-05 18:43:02 字数 44 浏览 5 评论 0原文

有没有什么方法可以在超级项目中移动子模块,而无需先删除它们并重新添加它们?

Is there any way to move submodules within your superproject without removing them first and re-adding them ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

愁以何悠 2024-10-12 18:43:02

这与删除子模块的方式类似(请参阅如何删除子模块?< /a>):

  • 编辑 .gitmodules 并适当更改子模块的路径,然后使用 git add .gitmodules 将其放入索引中
  • 如果需要,创建子模块新位置的父目录: mkdir -p new/parent
  • 将所有内容从旧目录移动到新目录: mv -vi old/parent/submodule new/parent/submodule
  • 使用 < 删除旧目录code>git rm --cached old/parent/submodule

之后对我来说是这样的:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   .gitmodules
#       renamed:    old/parent/submodule -> new/parent/submodule
#
  • 最后提交更改。

It's similar to how you removing a submodule (see How do I remove a submodule?):

  • Edit .gitmodules and change the path of the submodule appropriately, and put it in the index with git add .gitmodules
  • If needed, create the parent directory of the new location of the submodule: mkdir -p new/parent
  • Move all content from the old to the new directory: mv -vi old/parent/submodule new/parent/submodule
  • Remove the old directory with git rm --cached old/parent/submodule

Looks like this for me afterwards:

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       modified:   .gitmodules
#       renamed:    old/parent/submodule -> new/parent/submodule
#
  • Finally commit the changes.
抱着落日 2024-10-12 18:43:02

我认为目前还没有。

有一个正在制作的补丁教学“git mv“如何处理移动子模块,包括如何更新 .gitmodules 文件。
但目前还没有。
简单地为现有子模块切换远程存储库更简单,但这不是您想要的。

I don't think there is for now.

There is a patch in the making for a teaching "git mv" how to handle moving submodules, including how to update the .gitmodules file.
But it is not there yet.
Simply switching a remote repo for an existing submodule is simpler, but not what you want.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文