1

我有一个工作流程,其中我需要将一些功能交付给开发人员进行测试,然后再将它们推送到生产环境。问题是其中一些功能需要无限期地保留在开发服务器上,并且永远不会被推送到生产服务器,所以我不能直接将 dev 分支与 prod 分支同步。这意味着我不能使用只有一个主分支通过标签发布到产品的模型。我可能需要为每个功能请求创建一个分支,并且总是从 prod 分支分支出来,以免从 dev 推送任何不应该在 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

这种方法足够可靠吗?

谢谢!

4

1 回答 1

1

是的,这实际上是 Git 存储库本身遵循的内容:

  • 它在每个新的发布周期重置 staging/dev/testing 分支,使这些分支变得短暂(即销毁/重新创建)
  • 它将功能分支合并到那些分支(而不是从开发合并到测试再到登台)

Gitworkflow为例(不是“git flow”,而是用于 Git 存储库本身的工作流):通过将功能分支直接合并到每个环境分支,您可以避免这些分支之间的任何依赖关系(在您的情况下,master不依赖于on dev),并且在这些不同环境中完成的集成期间取消其中一些功能变得非常容易:所有您不需要在下一个环境分支中合并该功能分支(在您的情况下:)master

查看更多信息rocketraman/gitworkflow

于 2018-06-23T05:42:39.840 回答