使用 Git 进行代码提升

dra*_*ter 5 git

我试图弄清楚如何通过代码提升将 git 用于多个环境(dev->test->prod)。我读了一些关于分支的内容,但不太明白这如何解决我的问题,因为我必须能够同时运行所有环境并且彼此分开。

将非常感谢某种操作方法。

Rya*_*igg 3

这种三层工作流程似乎是很常见的主题。我们是这样做的。我们是一家 Ruby 商店,因此这里也提到了测试。

我们都各自致力于个人“故事”(来自 Pivotal Tracker)。这意味着,如果我们都致力于分支,那么我们就会不断地踩到彼此的脚趾。为了解决这个问题,我们每个人都为该特定的工作块创建一个新分支(基于最新的master )。

当我们完成这部分工作时,我们自己运行测试,如果它们通过了,那么它们就会合并回分支,在那里再次运行测试,以确保没有引入任何损坏。如果有的话,我们会尝试git bisect找出它是什么,这在 99% 的情况下都有效。

大多数时候(因为我们真的很棒*),测试都会通过。当所有测试都在主分支上通过后,我们就部署到临时服务器。所以我想这意味着master staging分支。当该功能(或更可能是功能)获得批准后,我们​​会将这些更改合并到生产分支中,然后将该分支推送到生产站点。

通过这种设置,各个开发人员都能够为自己拥有应用程序的可运行副本,QA 团队会在有时间时获得一个运行副本来检查(这是我工作中“最有趣”的部分,收集人们就像放牧猫一样),而现实世界有一个完美的站点。

无论如何,理论上来说。人们会犯错误。