代码之家  ›  专栏  ›  技术社区  ›  Eugene

特定Git配置

  •  1
  • Eugene  · 技术社区  · 8 年前

    我有一个工作流,在将某些功能推送到prod之前,我需要将它们运到dev进行测试。问题是,这些功能中的一些需要无限期地留在dev服务器上,并且永远不会推送到生产服务器上,因此我永远无法直接将dev分支与prod分支同步。这意味着我不能使用只有一个主分支通过标记发布到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
    

    这种方法足够可靠吗?

    谢谢!

    1 回复  |  直到 8 年前
        1
  •  1
  •   VonC    8 年前

    是的,这实际上就是git回购本身所遵循的:

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

    见 Gitworkflow as an example (不是“git流”,而是用于git repo本身的工作流):通过将功能分支直接合并到每个环境分支,可以避免这些分支之间的任何依赖关系(在您的情况下, master 不依赖于 dev ,在这些不同环境中进行集成时,取消其中一些功能变得非常容易:您只需要 不 将该要素分支合并到下一个环境分支中(在您的情况下: 主人 )

    查看更多 rocketraman/gitworkflow 是的。

    推荐文章