我有一个 Web 服务器,它为一个 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/

10-13 07:44