我试图弄清楚如何在代码升级的情况下将git用于多个环境(dev-> test-> prod)。我读了一些有关分支的知识,但对如何解决我的问题了解得不多,因为我必须具有同时并彼此独立运行所有环境的能力。
非常感谢某种方法。
最佳答案
拥有此三层工作流似乎是一个非常普遍的主题。这是我们的操作方式。我们是Ruby商店,因此这里也提到了一些测试。
我们每个人(分别来自Pivotal Tracker)都在单独处理“故事”。这意味着,如果我们都致力于主分支,那么我们将不断地踩着彼此的脚趾。为了解决这个问题,我们每个人都为该特定工作块创建了一个新分支(基于最新的主)。
当完成这些工作时,我们将自己运行测试,如果测试通过,则它们将 merge 回到主分支,在该分支中再次运行测试,以确保没有引入损坏。如果有的话,我们尝试使用git bisect
找出它是什么,并且在99%的情况下都可以使用。
大多数时候(因为我们真的很棒*),测试通过了。当所有测试都在master分支上通过时,我们将部署到登台服务器。因此,我想这意味着主是暂存分支。批准该功能(或更可能的功能)后,我们将这些更改 merge 到生产分支中,然后将该分支推送到生产站点。
通过这种设置,每个开发人员都可以自己拥有应用程序的可运行副本,质量检查团队可以在有空的时候获得运行副本以进行检查(这是我工作中最“有趣”的部分,人们就像放牧猫一样),而“真实世界”拥有完美的网站。
从理论上讲。人们会犯错误。
关于git - 使用Git进行代码推广,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3032007/