如何更新所有提交中的子模块 url

2024-01-24

用例是我必须将某些存储库移动到新服务器。所以这些存储库会得到一个新的 url。
引用这些子模块的父项目需要使用子模块的新 url 进行更新。
我考虑做以下事情。

  1. 更新 .gitmodules 文件
  2. git 子模块同步
  3. git 子模块更新
  4. 提交并推送

但是,由于先前的提交具有早期版本的 .gitmodule,如果我签出父项目的先前提交 - 它不会查找旧服务器吗?


为了确保可重复性,我们需要让所有旧的提交都正常工作。 有什么想法可以解决这个问题吗?


中的网址.gitmodules通常仅在初始化子模块时或在git submodule sync。初始化时(git submodule init),URL 被放入存储库的.git/config,并且当子模块被克隆到位时(在git submodule update) 要使用的 URL 取自配置。唯一一次该 URL 位于.gitmodules当你运行时使用git submodule sync,这将类似地更新配置中的 URL,但也会设置origin在子模块中远程访问相同的 URL。

这意味着您在签出早期提交并运行时不会有任何问题git submodule update- 遥控器origin当您在父存储库中签出新提交时,子模块中的内容不会更改。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更新所有提交中的子模块 url 的相关文章

  • Git 提交失败:“请使用 -m 或 -F 选项提供消息。”

    当我键入 git commit 命令来提交文件时 我收到以下错误消息 Microsoft Visual Studio 微软 找不到命令 错误 核心编辑器 Microsoft Visual Studio 存在问题 请使用 m 或 F 选项提供
  • 如何使用 Git 跟踪目录而不是文件?

    我最近开始使用 Git 但只有一件事遇到了麻烦 如何在不跟踪目录内容的情况下跟踪目录 例如 我正在开发的网站允许上传 我想跟踪上传目录 以便在分支等时创建它 但显然不是其中的文件 在开发分支中的测试文件或主控中的真实文件 在我的 gitig
  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • Pycharm 从 Git 子模块导入

    我在 Pycharm 中有一个 python 项目 其中有一个嵌套的 Git 子模块 这是文件夹结构 my git repo git submodule repo package1 foo py bar py package2 baz py
  • 使当前提交成为 Git 存储库中唯一(初始)提交?

    我目前有一个本地 Git 存储库 我将其推送到 Github 存储库 本地存储库有约 10 次提交 Github 存储库是其同步副本 我想要做的是从本地 Git 存储库中删除所有版本历史记录 以便存储库的当前内容显示为唯一提交 因此存储库中
  • 仅使用 Git grep 的文件名

    我只想查看文本中包含特定单词的不同文件 current directory git grep word 显示文件中具有匹配单词的每一行 所以我尝试了这个 current directory git grep word files with
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • Eclipse Git 关键字扩展

    每次我检查 git hub 服务器的源代码时 我都需要更新源代码修订关键字 version date 等 你可能知道 Git 中的主要问题是你无法使用以下命令修改文件 提交后有关提交的信息 因为 Git 首先对文件进行校验 基本上我想要实现
  • git 2.32 git push -u origin master 没有任何反应

    I ve starting to use git github and I m stucked on how to push my codes to github I m following some tutorials and when
  • 有没有一个简单的命令可以将分支转换为标签?

    我即将完成将 哑快照 转换为 git 的繁琐过程 这个过程进展得非常顺利 感谢这个重命名过程 https stackoverflow com questions 6628539 how to tell git that its the sa
  • Git - 远程:错误:无法运行钩子/后接收:没有这样的文件或目录

    我收到错误 remote error cannot run hooks post receive No such file or directory 当尝试推送到远程时 接收后文件存在于正确的位置 testnew git hooks 并包含
  • 具有单个子模块的多个存储库

    我已经找了一段时间但没有找到答案 也许我不知道该看什么 我们有一个主库 它本身就是一个存储库 我们称之为 Lib 它包含我们的大部分模块和子模块 我们还假设它的大小为 2GB 现在我们有很多项目 例如 ProjA ProjB ProjC 每
  • GIT:提交时“致命:无法写入 new_index 文件”

    当我尝试将更改提交到本地存储库时 我收到以下消息 致命 无法写入 new index 文件 As this 线程说明 http luhman org blog 2010 04 05 git fatal unable write newind
  • 如何诊断和修复 git fatal: 无法读取树

    我在用着git管理项目上的文件 并不断遇到这个问题 当我跑步时git status我收到消息 fatal unable to read tree e2d920161d41631066945a3cbcd1b043de919570 据我了解 我
  • 使用BFG时可以指定多个文件吗?

    我正在尝试删除通配符无法覆盖的多种类型的文件 我尝试使用多个 delete files 但它不接受它 还尝试将文件全部放在 delete files 之后 但它也不接受它 有没有一种方法可以将它们全部放在一个命令中 如果没有 那么我必须运行
  • Git 认为我每次进行小更改时都在重写我的一个文件

    我有一个中等大小的 Java 文件 每次我对一个文件 BuildTable java 进行更改时 Git 都会将其报告为巨大的更改 即使只是一两行 BuildTable java 大约有 200 行 本次提交中的更改仅更改了一行 git d
  • 如何更改 GitHub 上的文件模式?

    git add test file git commit m first commit create mode 100644 test file git push git update index add chmod x test file
  • 如何修改 git add 来处理已删除的文件?

    我从 git 存储库中删除了一些文件 现在 根据状态查看 Changes not staged for commit deleted project war favicon ico deleted project war index htm
  • 仅使用 git 存储未暂存的更改(不是 --keep-index)

    首先 我确实知道 keep index 这不是我想要的 因为它仍然隐藏着all更改 但将暂存的更改保留在工作树中 如果可能的话 我只想存储未暂存的文件 而无需再次添加所有更改git stash patch 如果您想存储索引 已暂存的内容 和
  • 如何从 Git 存储库中删除选定的提交日志条目,同时保留其更改?

    我想从线性提交树中删除选定的提交日志条目 以便这些条目不会显示在提交日志中 我的提交树看起来像 R A B C D E HEAD 我想删除 B 和 C 条目 以便它们不会显示在提交日志中 但应保留从 A 到 D 的更改 也许通过引入单个提交

随机推荐