【问题标题】:Workflow to protect against breaking changes in git submodules防止 git 子模块中的重大更改的工作流程
【发布时间】:2015-09-03 08:46:03
【问题描述】:

我们目前正在重构代码,以便在我们公司的不同项目之间共享。此共享代码将作为Git submodule 包含在其他项目中。

我们担心的一件事是在项目的某些阶段(例如:我们应该稳定/代码冻结的点)破坏从子模块引入超级项目的更改。

我以前从未使用过子模块,但据我所知,子模块引用了另一个 repo 中的特定提交,所以只要你不更新项目中的子模块,你基本上就可以了。

我的另一个队友建议,每当我们进入项目的“稳定阶段”(例如:完成开发)时,我们应该创建子模块的一个分支并指向它。我认为这是一种开销并且似乎是错误的(共享项目不应与使用它的其他项目进行版本锁定)。

所以,总而言之,我的问题是:

  1. 是否应该采取任何措施来保护超级项目免受子模块更新(重大更改)的影响?
  2. 是否存在已知的工作流程,其中进入稳定阶段的超级项目也会创建其子模块的新分支以指向? (链接会很棒)。

【问题讨论】:

    标签: git version-control git-submodules project-structure multiple-projects


    【解决方案1】:

    是否应该采取任何措施来保护超级项目免受子模块更新(重大更改)的影响?

    否:在子模块中进行的任何修改(并推送到其上游仓库)都不会影响父仓库:它仍然会引用相同的 gitlinkspecial entry in the index of the parent repo)。

    是否存在已知的工作流程,其中进入稳定阶段的超级项目也会创建其子模块的新分支以指向?

    否:子模块是固定的 SHA1。

    【讨论】:

      猜你喜欢
      • 2010-12-08
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      相关资源
      最近更新 更多