git push --recurse-submodules=on-demand 并不是真正的递归

2024-03-16

我有以下项目结构:

root-project
      |
      |-- A
      |   |
      |   |-- C
      |
      |-- B

A 和 B 是根项目的子模块。 C 又是一个子模块 假设我对项目 A、B 和 C 进行了更改,并且 将这些变化提交给各自的指数。之后我更新 根项目中对 A 和 B 的引用并提交该更改 以及。当我使用选项推送根项目的更改时 --recurse-submodules=on-demand, git 推送项目 A 的所有提交, B 和根项目,但默默地忽略了 项目C。我希望它也能推动项目C的变化。

我知道我可以通过在根项目文件夹中使用以下两个命令来解决这个问题。

git submodule foreach --recursive 'git push origin master'
git push

有人可以澄清我是否做错了什么,或者这是否是 git-push 中的错误。我已经在 git 邮件列表上提出了这个问题,但没有收到任何回复:http://thread.gmane.org/gmane.comp.version-control.git/266184 http://thread.gmane.org/gmane.comp.version-control.git/266184

我还编写了一个小 shell 脚本,用于设置所描述的项目结构并执行递归推送操作:https://gist.github.com/usommerl/6e8defcba94bd4ba1438 https://gist.github.com/usommerl/6e8defcba94bd4ba1438

git版本2.3.3


git push --recurse-submodules=on-demand将与 git 2.14.x/2.15(2017 年第 3 季度)真正递归,但有一些条件。

See commit c7be720 https://github.com/git/git/commit/c7be7201a7b71f590325f0d858f909a4c0b443f6 (20 Jul 2017) by Brandon Williams (mbrandonw) https://github.com/mbrandonw.
(Merged by Junio C Hamano -- gitster -- https://github.com/gitster in commit a49794d https://github.com/git/git/commit/a49794d10826ef7cc9237abcf6474cd826de1063, 22 Aug 2017)

子模块--helper:教push-check处理HEAD

In 06bf4ad https://github.com/git/git/commit/06bf4ad1db92c32af38e16d9b7f928edbd647780 (push:传播远程和 refspec --recurse-submodules, git 2.13.0) 当 '--recurse-submodules' 给出了标志。

The 只有允许传播的引用规范是命名超级项目和子模块中都存在的引用的引用规范,但需要注意的是“HEAD”是不允许的。

这个补丁教授push-check(子模块助手,它确定是否 refspec 可以传播到子模块)以允许传播 'HEAD' 当且仅当:

  • 超级项目和子模块都有相同的 已检出指定分支并
  • 子模块不处于分离头状态。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git push --recurse-submodules=on-demand 并不是真正的递归 的相关文章

随机推荐

  • C++ 错误:转换为非标量类型 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我似乎在以
  • JavaFX HMTLEditor 对“返回”键没有反应

    我试图用 JavaFX 做一些实验HTMLEditor成分 我使用了以下代码 摘录 fxPanel new JFXPanel Platform runLater new Runnable Override public void run G
  • F# 中元组的不完整模式匹配

    我定义一个点 type TimeSeriesPoint lt T gt Time DateTimeOffset Value T 和一系列 type TimeSeries lt T gt TimeSeriesPoint lt T gt lis
  • canvas.toDataURL() 在不同浏览器上创建不同的base64编码字符串

    我有一个应用程序 用户需要相互传输数据 无法通过服务器 我认为从这些数据中渲染图像并让他们发送该图像可能会很好 由于各种原因 二维码不起作用 I came 浏览这个 github 仓库 https github com mudcube PN
  • 如何在从另一个存储库扩展模板的管道定义中使用我的模板?

    我有一个从另一个存储库扩展模板的管道 该外部模板需要一个stageList called stages 我的管道 resources repositories repository templates type git name Other
  • 在消息驱动Bean中动态配置MappedName注释

    使用消息驱动 BE 时 接收消息的目标名称被硬编码在注释中 MessageDriven mappedName someDestinationName 有没有办法在运行时添加这些信息 下面是一个示例消息驱动 Bean 类 package md
  • 在特定层上多次重试后 Docker 推送失败

    我正在尝试为我构建的 Angular 5 项目推送我自己的 Docker 镜像 我的 docker 镜像扩展了众所周知的node carbon图像并运行以下命令 FROM node carbon WORKDIR usr src app CO
  • Xna:模拟Texture2D

    我正在编写 WinForms Xna 应用程序 我需要某种方法来抽象出与我的控制器 模型代码中的 GraphicsDevice 的交互 我创建了一个接口 IGraphicsService 我将用它来抽象诸如加载纹理之类的东西 但我不知道当我
  • 修复了移动 Safari 网站上带有文本字段的标题

    我已经四处寻找了一段时间 但似乎找不到解决此问题的方法 当输入字段在移动 safari 中获得焦点 尚未检查其他浏览器 时 固定元素将由于 safari 将该元素置于视图中 更靠近中心 而跳转 该错误仅在用户滚动时发生 如果用户仍位于页面顶
  • 我可以使用python创建类似flash的浏览器游戏吗?

    是否可以使用python创建类似flash的浏览器游戏 其实我想用它来做经济模拟 不过相当于页游一样 Davoud 答案是肯定的 假设您认为这是您想要做的事情的一个很好的例子 http pyjs org examples Space htm
  • Phong 照明:单独添加镜面照明还是与环境光和漫反射一起添加?

    我正在尝试实现 Phong 照明 在某些教程中 将镜面光照添加到环境光照和漫射光照中 然后将总光照乘以纹理颜色 我还看到了一个教程 其中在添加环境光和漫射光与纹理颜色相乘之后单独添加镜面照明 这是一个片段着色器 其中包含两个选项和屏幕截图
  • 使用 SAVON response.to_hash 转换方法解析 SOAP 响应

    我在解析 SOAP 响应时遇到问题 这是我的代码 require rubygems require savon client Savon Client new http 1 2 3 4 xyz abcd fsds wsdl res clie
  • 在 Heroku 上备份/加载后,PostgreSQL 数据库大小较小

    最近 我创建了一个新的 Heroku 应用程序用于生产 并使用我从临时数据库中获取的备份填充它的数据库 问题在于 如 Heroku 的 Postgres 网页上所示 这两个数据库的数据库大小不同 我从中获取备份的第一个数据库大小为 360
  • 更改 React Bootstrap 中展开的手风琴面板的标题样式

    对于单击和活动 展开的面板 我想更改 css 样式 那是因为我想切换面板标题内向上或向下指向的图像箭头 我能够获取打开面板的 eventKey 但无法使用面板标题CSS 类 你有什么建议 Thanks 代码如下
  • 如何将已通过身份验证的用户从登录页面重定向到主页

    我正在使用 Apache Shiro 开发 JSF 应用程序 我使用 Shiro 验证用户并将她重定向到主页 这没有问题 身份验证后 当我尝试访问登录页面时 它不会将我重定向到主页 即使已经有登录的用户 我也可以再次登录 我正在做程序化登录
  • Java、C++、C# 等如何通过 < 和 > 解决这种特定的语法歧义?

    我曾经认为 C 是一种 奇怪 的语言 它与 lt and gt 但是在尝试实现解析器之后 我想我发现了一个打破的例子大概every java中的通用方法调用是
  • 谁有关于 PostgreSQL 后台进程的文档?

    谁有关于 PostgreSQL 后台进程的文档 我想了解有关这些后台进程的详细信息 postgres 记录器进程 postgres 编写进程 postgres wal writer进程 postgres autovacuum 启动程序进程
  • 具有透明背景的CWnd

    我想创建一个基于 CWnd 的类 它将引入具有透明背景的控件 只要内容是静态的 创建一个控件并用透明背景绘制其内容对我来说没什么大不了的 问题是当我想创建一个内容不断变化的控件时 这是因为我不知道如何用父背景删除控件的内容 一般情况下可能不
  • 如何开始构建 django 网站以及 django 如何构建页面?

    我为我的个人网站启动了一个 django 项目来学习 django 到目前为止 我已经设置了我需要的一切开发环境并遵循this https docs djangoproject com en dev intro tutorial01 创建一
  • git push --recurse-submodules=on-demand 并不是真正的递归

    我有以下项目结构 root project A C B A 和 B 是根项目的子模块 C 又是一个子模块 假设我对项目 A B 和 C 进行了更改 并且 将这些变化提交给各自的指数 之后我更新 根项目中对 A 和 B 的引用并提交该更改 以