我目前正在使用Git将应用程序部署到DigitalOcean VPS服务器。如果由于新源代码中的错误而导致部署或应用程序出现问题。我怎样才能回滚到之前的git commit?
我发现以下链接很有用,但我很困惑我应该使用哪个命令。
How to revert Git repository to a previous commit?
我想要实现的目标:
我已经阅读了一些关于git checkout
的答案,这些答案需要提交哈希i.e. 0d1d7fc32
。但是,此方法需要一些额外的步骤,可能对自动脚本没用。
先谢谢。
答案 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:有很多不同的方法可以做到这一点。您应该选择最适合的选项。