Git部署:如何回滚到我的应用程序的以前稳定版本?

时间:2012-10-31 09:38:35

标签: git workflow rollback git-checkout

我正在认真考虑使用git作为我的部署方法。目前我独自工作,所以在我的情况下冲突不是问题。让我们说我按照步骤复制连接我的localhost,我的bitbucket帐户和我的实时服务器存储库的工作流程。我一直在想如何确保如果有任何问题,我可以安全地回到稳定版本。

我唯一能想到的就是为每个未来的版本创建一个分支,然后签出它。如果它不好或我有问题,我会结账回到主人。如果没问题,我会在几天后将分支与master合并,然后我将创建一个新的分支。

这是合乎逻辑的吗?我搜索了很多关于这个主题的文章,但我真的无法理解它们中的大多数,因为它们适用于大中型团队,所以工作流程不同。我也向一些网站提出了同样的问题而且从来没有得到答案,最有可能导致它是一个愚蠢的,我真的不知道。但我在这里。版本控制如何在我的案例中起作用?

2 个答案:

答案 0 :(得分:4)

首先,我假设您在部署任何特定分支时没有任何问题。

在具有某种专业性(和预算)的环境中,会有一个临时环境,在生成之前将部署新代码(在您的情况下,是实时服务器存储库)。通常,生产中的版本应该始终是稳定的(提示:如果不是这样,你应该在最终生产之前发现它,这里的良好测试实践也会有帮助)< / p>

现在,让我们假设您最终不得不“热修”大师以进行制作,并且常规revert恰好是不够的,一种方法是:

  1. 重置 - 硬件到所需的提交
  2. 将(软)重置为主人(现在您的工作副本仍将来自所需的提交)
  3. 暂存当前工作副本(即git add .)并提交。
  4. PS:请注意,我不经常这样做,我希望你也不要这样做,特别是在主人

    另一个警告:这不会处理数据库备份,你需要其他应急计划

答案 1 :(得分:3)

请阅读这篇文章: A successful Git branching model

在我们公司,我们使用这种方法,它非常有帮助。基本上它是你已经说过的东西,但是这也考虑到你有“主”分支用于发布构建和“开发”分支,你合并所有功能分支,当你准备发布新版本时,你简单地将develop分支合并为master并创建新标记。正如我所说,阅读文章,因为它帮助我创建稳定的分支模型。