2012-10-31 18 views
4

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

我唯一能想到的就是为每个未来的版本创建一个分支,然后签出它。如果它不好或我有问题,我会检查回主。如果可以的话,我会在几天后将分支和主分支合并,然后创建一个新的分支。

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

回答

4

首先,我会假设你没有任何问题部署任何特定的分支。

在具有一些专业性(和预算)表象的环境中,将会有一个临时环境,在代码生成之前部署新代码(在您的情况下为活动服务器存储库)。一般对生产的版本应该始终是稳定的(提示:在该情况下,当它不是,你应该发现它之前它结束了对生产,良好的测试规范也将在这里有用)

现在,让我们假设你最终不得不“烫”为生产反正师傅和定期revert恰好是不够的,要做到这一点的方法之一是:

  1. 的复位 - 硬到所需提交
  2. 重置(软)到主人的头上(现在您的工作副本仍将来自所需的提交)
  3. 阶段当前的工作副本(即git add .)并提交它。

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

另外要注意的警告:这不照顾的数据库备份,您将需要其他应急计划

+0

hm ...数据库是这类事情的一个问题。虽然我正在使用Laravel,它具有类似DB的版本控制方法。但无论如何,我明白你的观点。我非常感谢你的时间:-) –

3

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

在我们公司,我们使用这种方法,它非常有帮助。基本上这是你已经说过的东西,但是这也认为你有“主”分支来发布构建和“开发”分支,你将所有功能分支合并到一起,当你准备发布新版本时,你只需将开发分支合并到主设备并创建新标签即可。正如我所说,阅读这篇文章是因为它帮助我创建了稳定的分支模型。

+0

我真的很感谢DeTox。我现在就去看看。 –

+0

如果开发人员合并后出现问题,您将如何将主人恢复到合并之前的状态?是否有任何一种“恢复到以前的标签”命令?我仍然在阅读它,它确实是一篇非常酷的文章。 –

+0

的确很不错。这会有很大的帮助。 THanks DeTox。 –

相关问题