具体 git 配置

Specific git configuration

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

这种方法是否足够可靠?

谢谢!

是的,这实际上是 Git 回购本身遵循的内容:

  • 它会在每个新的发布周期重置 staging/dev/testing 分支,使这些分支成为临时分支(即 destroyed/recreated)
  • 它将功能分支合并到那些分支(而不是从开发合并到测试再到暂存)

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

rocketraman/gitworkflow 查看更多信息。