我有一个网络服务器,为一个项目提供服务,该项目是一个 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/