我们有一个暂存环境和一个生产环境。我们可以在试运行中做任何我们想做的事情,以测试新的持续集成定义/构建/发布等……每个环境都有一个git代码库。
目前,我有两个本地repos。一个用于试运行,另一个用于生产。99%的时间我们在生产环境中工作,因为我们不经常更改构建/发布定义。但是,我们目前正在进行更改,我需要使用生产代码更新登台git repo代码。
因此,我基本上只是将代码从本地生产repo目录(减去任何与git相关的文件)复制并粘贴到登台,然后推送到登台服务器。
这太差劲了,我不想再这样做了。那么,哪种设置更有效率呢?理想情况下,staging只是“镜像”生产,但我们不希望在staging中所做的更改影响生产。
发布于 2017-10-12 00:09:49
我真的不知道这是谁的主意,让两个单独的repos用于试运行和生产,但我并没有经常看到这样的设置(甚至可能从未见过)。如果您在两个代码库中对相同产品的代码进行版本控制,那么这里最明显的解决方法就是对所有内容都使用一个代码库。在这个单一的存储库中,您将拥有暂存和生产分支,现在,如果您需要将功能从暂存移动到生产,或者反之亦然,您将可以在指尖进行合并和重新建立基础。
发布于 2017-10-12 00:10:18
根据您所说的,您只需要创建一个带有两个主要分支的存储库:dev
和master
。当你想要使用代码的时候,例如你所说的:
将代码从本地生产存储库目录(减去任何与git相关的文件)复制并粘贴到登台,然后推送到登台服务器。
取而代之的是,从分支staging
签出到staging-test
,然后签出git pull --rebase origin master
,因此分支阶段应该与master
代码合并。
你可以看看GitFlow:https://www.atlassian.com/git/tutorials/comparing-workflows
发布于 2017-10-14 07:04:51
您可以在git push上添加一个git挂钩到本地生产存储库,然后切换到本地暂存存储库,从本地生产存储库中拉出,并推送到远程暂存存储库。
https://stackoverflow.com/questions/46692835
复制相似问题