如何管理zend framework 2项目的版本控制?是否有最佳实践/标准方法?“子模块”是正确的关键字吗?
最佳答案
zend framework 2项目通常是一个轻量级的框架应用程序,安装了各种模块,这些模块通常位于单独的专用存储库中。
主存储库通常不受许多更改的影响,因此您可以为它创建一个git存储库(fork ofZendSkeletonApplication)。虽然这些模块更加相关,需要一些注意,但是框架应用程序通常在几个月内只会在几个细节上发生变化。
我可以建议以下方法:
在skeleton application fork的modules/
目录中将应用程序特定模块的第一个版本创建为git submodules。
按照建议的方式处理模块,只需提交回原始存储库并更新根存储库中的git子模块引用。
一旦您有了一个相当好的工作版本(并且对composer和zf2有一定的信心),就可以通过添加一个composer.json
文件将它们转换成composer包。
移除转换后的zf2模块的git子模块,改为use composer to import it。为此,您只需告诉composer存储库的位置。这将使模块在任何应用程序中以秒为单位安装,帮助您重用现有组件。从现在起,重新使用为不同项目编写的代码变得非常容易。
标记并逐步稳定包的依赖项和版本(因为您将开始拥有自己的private composer packages ecosystem)
我个人就是这样做的,它已经变成了一个非常好的开发过程。每次共享一个特性时,我只需将它移到一个新包中并更新模块中的composer.json
。Satis负责其余的工作,我们所有的实时系统都可以快速升级。
一旦你熟悉了它,你可能会想多读一些。