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

Geo*_* D. 5 git workflow rollback git-checkout

我正在认真考虑使用 git 作为我的部署方法。目前我一个人工作,所以在我的情况下冲突不是问题。假设我按照步骤复制了连接我的本地主机、我的 bitbucket 帐户和我的实时服务器存储库的工作流。我一直想知道如何确保如果出现任何问题,我可以安全地回到稳定版本。

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

这合乎逻辑吗?我搜索了很多关于这个主题的文章,但我真的无法理解其中的大部分,因为它们是针对中型团队的,所以工作流程是不同的。我也向一些网站提出了同样的问题,但从未得到答案,很可能是因为它是一个愚蠢的问题,我真的不知道。但我在这里。在我的情况下,版本控制将如何工作?

pru*_*wan 4

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

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

现在,假设您最终不得不“热修复”主控以进行生产,并且常规恢复恰好是不够的,一种方法是:

  1. Reset --hard 到所需的提交
  2. 重置(软)到master头(现在你的工作副本仍然来自所需的提交)
  3. 暂存当前工作副本(即git add .)并提交。

PS:请注意,我不经常这样做,我希望你也不要这样做,尤其是在 master 上

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