回滚到以前的应用程序部署状态 - git

时间:2014-05-22 02:02:00

标签: git deployment

我目前正在使用Git将应用程序部署到DigitalOcean VPS服务器。如果由于新源代码中的错误而导致部署或应用程序出现问题。我怎样才能回滚到之前的git commit?

我发现以下链接很有用,但我很困惑我应该使用哪个命令。

How to revert Git repository to a previous commit?

我想要实现的目标:

  • 我想回滚到以前的应用状态。
  • rollback命令只应更改我的服务器(DigitalOcean)代码库而不是Github存储库
  • 该命令可以自动化。

我已经阅读了一些关于git checkout的答案,这些答案需要提交哈希i.e. 0d1d7fc32。但是,此方法需要一些额外的步骤,可能对自动脚本没用。

先谢谢。

2 个答案:

答案 0 :(得分:2)

如果您想回滚到之前的提交,请使用: git checkout HEAD~

HEAD引用当前提交

HEAD~引用先前的提交

HEAD~2在前一次提交之前引用提交

要重新检查最近的提交使用git checkout <remote> <branch>,可能是git checkout origin master。这将有效地逆转原始命令。

答案 1 :(得分:1)

好的,所以如果您想放弃自上一次提交以来的所有工作,那么命令是:

git reset --hard HEAD~1

~1告诉git回滚到上一次提交。 ~2是之前的提交,依此类推(~3,~4,...)。

这样做不会影响您的GitHub回购,除非您推送修改。

要自动执行此命令,您可以编写一个在存储库文件夹上执行此命令的脚本。

PS:有很多不同的方法可以做到这一点。您应该选择最适合的选项。