我的公司正在从 svn 切换到 git,我正在研究各种分支模型。到目前为止,我最喜欢的是git-flow,但我有一个未解决的主要问题。
我们使用 hudson(即将成为 jenkins)作为我们的 CI 服务器。有 5 个应用程序,每个应用程序有 3 个环境:开发、质量检查和生产。使用 git-flow,很明显将开发构建指向“开发”分支,将生产构建指向“主”分支,但是最好的设置方法是什么,以便我们可以轻松地重定向qa 环境到最新的修补程序或发布分支(如果存在),或者开发(如果不存在)。我们目前只是手动更新 jenkins 作业,但是手动更改 5 个作业很痛苦(并且容易出错)。
我考虑过的一些事情:
添加一个 qa 分支并从发布/修补程序分支合并到它。这是一个非首发,因为我们必须记住,只要我们对发布/修补程序进行更改并且很快就会变旧,就必须合并到 qa 分支中。
创建一个符号引用“refs/heads/qa”并更新它以指向我们希望 QA 测试的任何内容。这比上面的要好,但不起作用,因为我们需要更新 git 服务器上的 sym-ref,而普通开发人员没有这样做的权限。
到目前为止,这些选项对我来说似乎都不可行,我还缺少其他选项吗?谢谢。