我正在尝试将 git-flow 应用于具有多个共享相同代码库的网站的项目。
我目前使用许多功能分支、一个开发分支、一个支持分支和许多生产分支:每个站点一个,因为每个站点都自定义了一些配置文件。
git flow 工具并没有提出很多主/生产分支,而是一个单一的。 我能做些什么?
我正在尝试将 git-flow 应用于具有多个共享相同代码库的网站的项目。
我目前使用许多功能分支、一个开发分支、一个支持分支和许多生产分支:每个站点一个,因为每个站点都自定义了一些配置文件。
git flow 工具并没有提出很多主/生产分支,而是一个单一的。 我能做些什么?
坦率地说,这听起来像是一个应用程序配置问题——而不是 git 问题。
我们已经在我们的系统中找到了原生支持“覆盖”文件的方法——系统首先查找自定义文件并回退默认文件。
如果你不能让你的应用程序在运行时动态定制,我会实现一个在部署时进行覆盖的构建过程。
我的解决方案如下:
当我需要部署时,我会在我的 PC 上运行一个脚本:
在服务器上,我运行一个脚本:
解决方案1)在子项目中开发maven工件并将它们上传到自定义nexus。然后您的每个项目都可以导入这些工件
解决方案 2)使 git-flow 适应您自己的需求。例如,在我们的例子中,我们有几个发布分支并且没有开发分支。每个分支都是从 master 创建的。通过这种方式,我们非常灵活,可以即时创建短期和长期版本,只需将所有功能分支合并到一个版本中即可。这样,您还可以为每个环境创建特殊版本
ps:如果你使用git-flow scripts-bundle,那么你必须忘记那些并自己做(不是那么难)