我们有一个依赖其他git存储库中代码的git存储库。 我们使用了通常的子模块方式来表达这种关系,并确保支持代码位于用户目录结构的标准位置。更新支持代码也很简单:
- 对子模块进行更改 - 提交更改 - 推送更改 - 进入主存储库 - 提交对子模块的更改 - 推送更改
问题出现在另一侧。 在此类更改之后,为了使其他开发人员获得完整、一致的代码集,他们需要执行三个命令:
- git pull(更新主存储库) - git submodule init(以防添加了任何新的子模块) - git submodule update(更新子模块)
训练开发人员执行所有这些操作已经被证明是困难的,特别是因为在我们的所有其他存储库中,不包含子模块,只需执行pull就足够了。结果是开发人员有时会使用过时版本的子模块代码,导致产生耗时的问题。 除了编写一个执行所有三个命令的shell脚本并坚持“使用它!”,还有没有其他自动化的方法?
- 对子模块进行更改 - 提交更改 - 推送更改 - 进入主存储库 - 提交对子模块的更改 - 推送更改
问题出现在另一侧。 在此类更改之后,为了使其他开发人员获得完整、一致的代码集,他们需要执行三个命令:
- git pull(更新主存储库) - git submodule init(以防添加了任何新的子模块) - git submodule update(更新子模块)
训练开发人员执行所有这些操作已经被证明是困难的,特别是因为在我们的所有其他存储库中,不包含子模块,只需执行pull就足够了。结果是开发人员有时会使用过时版本的子模块代码,导致产生耗时的问题。 除了编写一个执行所有三个命令的shell脚本并坚持“使用它!”,还有没有其他自动化的方法?