假设我修复了多个项目使用的公共子模块中的错误。
有没有办法自动通知所有超级项目的开发人员更新子模块?
答案 0 :(得分:2)
有没有办法自动通知所有超级项目的开发人员更新子模块
没有。
子模块是上游仓库的克隆,嵌套在父仓库中
与您作为子模块克隆的原始仓库相比,它是下游仓库。
在分布式环境中,您根本不知道下游回购 您只知道上游回购 请参阅“Definition of “downstream” and “upstream””。
如“Update git submodule”中所述,您需要直接进入子模块git pull
以更新所述子模块。
答案 1 :(得分:1)
您可以添加提交后hook来发送电子邮件。
您可以使用(bash语法)
获取分支上所有提交者的电子邮件git log --pretty:format="%ce" | sort | uniq
或者,强制开发者
git pull --recurse-submodules
每次拉动时始终在所有子模块的最新版本上。如果推动了突破性更改,可能会或可能不是一个好主意,具体取决于您希望如何强制执行此操作。