Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止git子模块发生破坏性更改的工作流_Git_Version Control_Git Submodules_Project Structure_Multiple Projects - Fatal编程技术网

防止git子模块发生破坏性更改的工作流

防止git子模块发生破坏性更改的工作流,git,version-control,git-submodules,project-structure,multiple-projects,Git,Version Control,Git Submodules,Project Structure,Multiple Projects,我们目前正在重构代码,以便在公司的不同项目之间共享。此共享代码将作为一个项目包含在其他项目中 我们担心的一件事是在项目的某些阶段(例如:我们应该保持稳定/代码冻结)打破子模块引入超级项目的更改 我以前从未使用过子模块,但据我所知,子模块在另一个repo中引用了一个特定的提交,所以只要不更新项目中的子模块,基本上就可以了 我的另一位队友建议,无论何时我们进入项目的“稳定阶段”(例如:finish dev),我们都应该创建子模块的一个分支并指向该分支。我认为这是一种开销,而且似乎是错误的(共享项目不

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

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

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

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

总之,我的问题是:

  • 是否应该采取任何措施来保护超级项目不受子模块更新(破坏性更改)的影响
  • 是否存在一个已知的工作流,其中进入稳定阶段的超级项目也会创建其子模块的新分支以指向该子模块?(一个链接就好了)
  • 是否应该采取任何措施来保护超级项目不受子模块更新(破坏性更改)的影响

    否:在子模块中所做的任何修改(以及推送到其上游回购)都不会影响父回购:它仍然会引用相同的(a)

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

    否:子模块是固定的SHA1