目前,我们有四种不同的 IT 环境,dev 为开发人员,test 为测试人员测试代码。UAT 是一种类似生产的环境,供某些最终用户在进入生产环境之前使用该产品。生产就是生产。
所以我在网上看了一些关于Git源码控制的文章,但看起来git只有开发分支(开发人员)和主分支(生产),功能分支用于添加功能,发布分支用于测试人员测试.
因此,我想知道是否需要单独的 UAT 和 test 分支?所以最终用户和测试人员可以分别测试代码。如果是这样,我如何在 git 中设置这两个分支?
Git分支完全独立于多代码环境的概念,不必一一对应。Git的本身应限制在develop,feature,bugfix,hotfix,release和master。这在Git Flow 中有说明:
通常develop部署到开发环境、release部署到测试环境和master部署到生产环境。但是,请注意,这不是必需的部署策略。如果您有其他环境,例如 UAT,您最终只想测试最终用户将看到的内容。最新的代码release应该与的代码相同master,所以这两个中的哪一个部署到UAT环境应该无关紧要;这归结为个人喜好。就个人而言,我会选择release,因为master通常被认为是“最后一个已知的好点”。您的最终用户可能会发现一些您自己的测试人员可能不会发现的错误!
话虽如此,还值得注意的是,目前在 DevOps 圈子里有一种“左移”的推动,整个测试周期发生在feature分支本身,develop被认为是“可交付的代码”。在这种情况下,develop可以直接进入生产环境,因此(理论上)所有环境都将指向开发。但是,我仍然建议个人关注 Git Flow。