完整的问题是:
Isn't a bad practice to commit/push changes from a submodule repository instead of cloning it in a separate, independent repo and doing all the changes there?
我试图说服我的一些同事,向子模块存储库添加更改的“更干净”和最好的方法是将其克隆到单独的存储库中,添加更改(添加、提交、推送),然后更新“主机”项目中的子模块版本。然而,我在这件事上的史诗般的励志演讲对他们影响不大,我需要额外的论据弹药来改变他们的想法。目前,我发现的主要原因是:
- 子模块存储库根据定义指向提交,而不是最新版本,因此从 DETACHED_HEAD 状态添加更改会很困惑。
- 从概念上讲,子模块是一个依赖项。
- 将子模块存储库克隆到一个单独的位置并在那里进行所有更改,然后将子模块 checkout 到新版本几乎不需要额外的工作。
还有其他支持(或反对)这个想法的论据吗?
提前致谢!
最佳答案
我通常直接在子模块中直接进行修改,前提是:
- 我有权推送到其上游仓库
- 对于每次推送,我都不会忘记转到子模块的当前父存储库,添加并命令新的 gitlink entry .
这使我可以测试正在使用它的父存储库内容中的子模块。
关于git - 从子模块存储库提交/推送更改不是一个坏习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27225902/