完整的问题是:
从子模块存储库提交/推送更改而不是在单独的独立存储库中进行克隆并在那里进行所有更改,这不是一个坏习惯吗?
我试图说服我的一些同事说清洁工'将更改添加到子模块存储库的最佳方法是将其克隆到单独的存储库中,添加更改(添加,提交,推送),然后更新“主机”中的子模块版本。项目。然而,我对这件事的史诗励志演讲对他们影响不大,我需要额外的论证弹药来改变他们的思想。目前,我找到的主要原因是:
还有其他赞成(或反对)这个想法的论据吗?
提前致谢!
答案 0 :(得分:1)
我通常直接在子模块中直接进行修改,前提是:
这允许我测试使用它的父仓库内容中的子模块。
答案 1 :(得分:1)
我认为你错了。您的方法效率低,容易出错。
我在子模块中提交更改,因为我可以完全测试我所引入的更改实际上是否满足了促使我进行更改的需要。它允许我运行我的测试套件并验证子模块或使用它的应用程序中没有任何损坏。人为地设置这个过程的障碍是不必要的低效率。
是的,也许在更广阔的世界中,图书馆代码和应用程序代码可以独立工作。是的,这会阻止耦合。在开发过程中,还有一些思想。在实践中,对库代码的更改是由应用程序中的需求驱动的,并且对库的独立更改通常在第一次尝试时不起作用,需要对库进行额外的提交。
避免这些缺点的唯一方法是严格遵守瀑布模型,并在编写代码之前在纸上完全设计两个系统,以便知道您引入子模块的更改正是所需的变化。即便如此,这只会阻止一些悲伤,它实际上并不会使 提交到子模块之外。