我有一个工作流程,在该工作流程中,需要将一些功能交付给开发人员进行测试,然后才能将其推送到产品中。问题在于,其中某些功能需要无限期地保留在开发服务器上,并且永远不要推送到生产服务器,因此我无法直接将开发分支与生产分支直接同步。这意味着我无法使用只有一个主分支通过标签发布到产品的模型。我可能需要为每个功能请求创建一个分支,并始终从prod分支中分支出来,以免向开发人员推送不应包含在prod上的任何内容。我想知道使用git管理类似内容的最佳方法是什么。
当前想法如下:
Production branch (master)
Development branch (development)
feature1:
- branch created from master
- completed and merged into dev
- tested
- stays on dev indefinitely
feature2
- branch created from master
- completed and merged into dev
- tested
- merged into prod
这种方法足够扎实吗?
谢谢!
答案 0 :(得分:1)
是的,这实际上是Git回购本身遵循的:
请参见Gitworkflow as an example(不是“ git flow”,而是用于Git存储库本身的工作流):通过将功能分支直接合并到每个环境分支,可以避免这些分支之间的任何依赖关系(在您的情况下) ,master
不依赖于dev
),并且在这些不同环境中进行的集成过程中,取消其中的某些功能变得非常容易:您只需不合并该功能分支进入下一个环境分支(在您的情况下为master
)。
在rocketraman/gitworkflow
上了解更多。