【问题标题】:Git submodules: Is it possible to notify other developers of a change?Git 子模块:是否可以通知其他开发人员更改?
【发布时间】:2013-03-02 01:06:14
【问题描述】:

假设我修复了多个项目使用的公共子模块中的错误。

有没有办法自动通知所有超级项目的开发者更新子模块?

【问题讨论】:

  • 好吧,你可以添加一个钩子来发送电子邮件。无法通过 git 本身联系存储库的所有用户。

标签: git git-submodules


【解决方案1】:

您可以添加一个 post-commit hook 来发送电子邮件。

您可以使用(bash 语法)获取分支上所有提交者的电子邮件

git log --pretty:format="%ce" | sort | uniq

或者,强制开发人员

git pull --recurse-submodules

每次拉取时始终使用所有子模块的最新版本。如果推送了重大更改,这可能是一个好主意,也可能不是一个好主意,这取决于您希望如何强制执行。

【讨论】:

    【解决方案2】:

    有没有办法自动通知所有超级项目的开发者更新子模块

    没有。
    子模块是上游仓库的克隆,嵌套在父仓库中。
    与您克隆为子模块的原始存储库相比,它是一个下游存储库。

    在分布式环境中,您根本不知道下游存储库。
    你只知道上游仓库。
    请参阅“Definition of “downstream” and “upstream””。

    如“Update git submodule”中所述,您需要进入子模块并直接进入git pull 以更新所述子模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 2019-06-07
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      • 2017-06-01
      • 2020-04-24
      相关资源
      最近更新 更多