防止git子模块中的更改发生变化的工作流程

时间:2015-09-03 08:46:03

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

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

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

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

我的另一位队友建议每当我们进入一个稳定的阶段时#34;对于项目(例如:finish dev),我们应该创建子模块的一个分支并指向它。我认为这是一个开销,似乎是错误的(共享项目不应该与其他使用它的项目锁定版本。)

所以,总结一下,我的问题是:

  1. 是否有任何保护超级项目不受子模块更新(重大变更)的影响?
  2. 是否存在一个已知的工作流程,其中一个超级项目进入稳定阶段,还会创建其子模块的新分支以指向? (链接会很棒)。

1 个答案:

答案 0 :(得分:2)

  

是否有任何保护超级项目不受子模块更新(重大变更)的影响?

否:在子模块中进行的任何修改(并推送到其上游仓库)都不会影响父仓库:它仍会引用相同的 gitlink (a {{3 }})。

  

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

否:子模块是固定的SHA1。