【发布时间】:2013-02-25 17:00:17
【问题描述】:
这篇文章听起来很有趣,但我很确定图表是错误的。 http://guides.beanstalkapp.com/version-control/branching-best-practices.html
不应该是DEVELOPMENT > STAGING > PRODUCTION吗?
合并应该只流向一个方向:从功能和错误修复 在他们自己的分支中完成或在开发阶段进行测试。 测试后,您可以将开发中的这些更改合并到 生产。
在这里我有点困惑。所以我将 Staging 合并到 Master 或 Master 到 Staging?
我正在使用一个名为 SmartGit 的客户端,我对这一点感到困惑。通常我为一个特性创建一个分支,提交它,然后切换到 master 并将其合并到分支(转发)。因此,在这个包含 Staging 和 Production 的新工作流程中,我创建了这两个额外的分支,然后从 master(又名 dev)为我的功能创建一个分支。提交它,然后切换到暂存并合并(转发)到我的功能分支?听起来对吗?
实际上让这变得如此混乱的是 Beanstalk 人支持他们非常不标准地使用 Staging(在他们的图表中它出现在开发之前,这不是一个错误! https://twitter.com/Beanstalkapp/status/306129447885631488
已决定忘记 Beanstalk,而直接使用 Github。
自从我发布此消息后,Beanstalk 人员接受了我的提示,并重新命名了他们的阶段,现在将开发称为“稳定”。
【问题讨论】:
-
您可能希望将修复从登台合并到生产。为了测试而合并到暂存,然后在测试完成时将开发合并到生产中,这为开发的额外工作合并到从未合并到暂存的生产提供了可能性。
-
经典分支工作流并不容易应用于 Git,因为 Git 中的分支要轻量级得多。它们只是指向历史中(单个)提交的指针,历史本身可以向多个方向分支。这就是为什么很难将分支视为分离开发的“线”(这也适用于“成功的 Git 分支模型”中的图表)。
-
是的,它不完全是泳道。但我的问题更具体:我是切换到 Staging 并合并到 dev,还是反之亦然?我是 git 新手,对此感到困惑。也许我应该直接向我的 windows git 客户端 SmartGit 的制造商提出这个问题。
-
我一直在寻找的一个确切问题。搜索谷歌并在第一个号码上得到了这个。耶(y)
标签: git