Git 回滚 1 pull

标签 git rollback

我有一个网络服务器,为一个项目提供服务,该项目是一个 git 存储库。当我对代码进行一些更改时,我会从服务器执行 git pull。有时新代码会崩溃,我希望能够回滚到最新的 pull ,即之前的 pull 。我想用脚本来做到这一点,而不必搜索最新的 sha。我该怎么做?

编辑:澄清一下,我只想做一个 Action ,比如按下一个按钮,上面写着“哎呀!我刚刚做的最近一次 pull 是个错误,我希望我没有那样做”。在这种情况下,我不想寻找 sha 或标签或其他任何东西,它更像是一个“撤消”功能。 然后我希望能够继续处理代码,并且服务器的下一次 pull 需要带来最新的更改。

最佳答案

git reset --hard HEAD^1 将从您 pull 的内容中恢复一次提交。如果您希望它恢复到 pull 之前的状态,请使用 git reset --hard HEAD@{1}@{1} 跟踪在您的本地存储库中最后一次更改它的操作之前头部所在的位置,因此如果在您 pull 之前有多个提交被推送,它将返回多个提交。另请参阅 git reflog 以显示整个列表。

关于Git 回滚 1 pull ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10196668/

相关文章:

c# - 如果在 C# 中失败,则回滚 sql 事务

git - 在 Sublime Merge 中显示分阶段更改

Git 认为一些复制的代码是一个子模块

git - 错误 : RPC failed; curl transfer closed with outstanding read data remaining

java - 在 Spring Boot 应用程序中超时后如何以与 weblogic 相同的方式回滚事务

mysql - 我应该在开始新事务之前尝试回滚吗?

c# - FluentMigrator 回滚到不可空列?

git - 我们还需要使用远程命令来设置 github push ssh 访问吗?

git - 致力于非主分支和贡献日历

MySQL 不会回滚事务