如何可靠地撤消最后一个git pull命令?

时间:2017-01-12 05:04:50

标签: git github git-pull

在极少数情况下,git pull会导致我们网站出现问题,我需要快速回复时间,以便开发人员可以解决问题。我已经尝试了git reset HEAD@{1},但由于某些文件仍在更改,因此无法解决问题。好像它只回滚了一些文件。

在最近的git pull命令之前,是否可以调用一个命令可靠地还原文件?

2 个答案:

答案 0 :(得分:6)

找到您想要保留的最新提交,并计算在之后出现的提交数量。例如,假设您最近的git pull提交了三个新提交,并且您想要将它们核对。在这种情况下,您可以使用git reset --hard

git reset --hard HEAD~3

只需将3替换为您要删除的提交数量。

有一个挥之不去的问题,你打算在此之后做些什么。现在远程分支仍然会有这三个不需要的提交。但假设您通过进行新提交来解决问题,则可以避免重写历史记录的问题。

答案 1 :(得分:1)

你只是在做什么

git reset HEAD@{1}

?如果是这样,则使用--mixed模式作为默认模式,这可以解释为什么您会看到更改的文件。我怀疑你应该使用

git reset --hard HEAD@{1}

这样它也会重置你的工作树。