我在Drupal中开发一个网站,我的开发目录树如下:
modules
-->moduleA
-->moduleA.inc
-->moduleA.info
-->moduleA.php
-->moduleB
-->moduleB.inc
-->moduleB.info
-->moduleB.php
themes
-->themeA
-->themeA.info
-->page.tpl.php
-->themeB
-->themeB.info
-->page.tpl.php
ShellScripts
-->scriptA.sh
-->scriptB.sh
legacyPerlScripts
-->script1.pl
-->script2.pl
没有庞大的开发团队;我正在自己开发所有模块和主题。模块和主题有些独立,每个都有自己的版本号。但是,一些大型任务可能需要升级到多个模块。此外,模块、主题和脚本应该一起部署,例如,将模块 A 的当前版本与模块 B 的旧版本一起使用不是一个好主意,因为模块 B 可能依赖于模块 A 中的新功能.
使用 git 进行修订控制的最佳实践是什么?我看到的选项是:
- 将所有内容放在一个大型的单体存储库中。
- 为每个模块、主题和脚本目录创建一个单独的存储库。
- 使用 git-slave (gits) 为每个模块、主题和脚本目录创建子项目。
- 使用 git 子模块
- 使用 git 子树
对于这样的 Web 开发项目,这 5 个选项中哪一个最常见?