gpt4 book ai didi

svn - 处理分支和合并的更好方法?

转载 作者:行者123 更新时间:2023-12-04 17:27:12 24 4
gpt4 key购买 nike

我们经营着一家 Web 开发商店,在任何给定时间都有大约 20 名开发人员在大约 30 个不同的站点上工作,并且我们正在投入大量时间来管理我们的 subversion 存储库 - 必须有更好的方法。

我们的客户站点通常有 3 个独立的部署环境:开发(主干)、暂存(分支)和生产(分支)。

新功能在开发时在内部进行审查,然后与暂存合并以供客户审查和批准,最后合并到生产中。

我们当前的工作流程:每个为客户开发主要新功能的开发人员都会从主干创建一个分支,处理他们的功能,同时从主干定期更新,然后将更改合并回主干(开发)以供内部审查。致力于微小更改或修复的开发人员将直接在主干中制作它们。

内部签收后,更改将合并到暂存区。如果需要进行更改,它们通常会在主干中进行,然后合并到暂存区。一旦获得批准,更改将与生产合并,然后部署。

新功能不会在内部或由客户按顺序审查,整个事情变得相当困惑。似乎我们使用了错误的流程 - 必须有更好的方法来做到这一点。我们对学习如何更好地利用版本控制非常感兴趣,但我们缺乏快速启动该过程的经验。

这些场景的最佳实践是什么?除了这个论坛,我们有兴趣聘请一位经验丰富的顾问,他可以帮助我们改进我们的流程。

谢谢!

最佳答案

您可能会考虑改用 Git 而不是 Subversion。 Git 非常好地支持这种分支模型并且非常轻量级。这需要一点时间来适应,尤其是当您从 Subversion 迁移时,但最终它会让您受益匪浅。

新功能的建议 Git 工作流程可能是:

  • 在主干上创建一个分支。
  • 在功能分支上实现功能,包括内部审查的迭代。
  • 当客户签署新功能时,将分支合并到主干和生产中,并(可选)删除分支。

  • 对于此工作流,您实际上并不需要有一个暂存分支。一旦合并,您也不需要保留功能分支 - Git 会记住更改历史记录。

    该模型非常支持异步/乱序功能开发和审查,因为每个功能分支本质上都是独立的。

    Git 中的分支非常便宜,合并通常非常简单。

    关于svn - 处理分支和合并的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918470/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com