在临时环境中镜像生产git repo

时间:2017-10-11 16:04:24

标签: git

我们有一个临时环境和一个生产环境。我们可以在分段中做任何我们想要的测试新的持续集成定义/构建/发布等...每个环境都有一个git repo。

目前,我有两个本地回购。一个用于分期,一个用于生产。 99%的时间我们在生产中工作,因为我们通常不会改变构建/发布定义。但是,我们正在进行更改,我需要使用生产代码更新staging git repo代码。

因此,我基本上只是将代码从本地生产仓库目录(减去任何git相关文件)复制并粘贴到登台,然后推送到登台服务器。

这很蹩脚,我不想再这样做了。那么,什么是更有效的设置?理想情况下,分段只是“镜像”生产,但我们不希望在分段中进行更改以影响生产。

3 个答案:

答案 0 :(得分:2)

我真的不知道为了分期和制作有两个单独的回购是谁的想法,但我没有经常(或甚至可能曾经)见过这样的设置。如果你在两个repos中对同一产品的代码进行版本控制,那么这里明显的解决方法就是只使用一个repo来处理所有事情。你可以在这个单独的仓库中拥有登台和生产分支,现在如果你需要将功能从登台转移到生产,反之亦然,那么你可以轻而易举地进行合并和改造。

答案 1 :(得分:0)

根据您的说法,您只需要创建一个包含两个主要分支的代表:devmaster。每当您想要使用代码时,例如您所说:

  

将代码从本地生产仓库目录(减去任何git相关文件)复制并粘贴到分段,然后推送到登台服务器。

相反,从分支staging结帐到staging-test然后git pull --rebase origin master结帐,因此分支暂存应与master代码合并。

你可以看看GitFlow:https://www.atlassian.com/git/tutorials/comparing-workflows

答案 2 :(得分:0)

你可以在git push上添加一个git hook到你的本地生产仓库,然后切换到你的本地staging仓库,从你的本地生产仓库中提取,然后推送到远程staging仓库。