在极少数情况下,git pull会导致我们网站出现问题,我需要快速回复时间,以便开发人员可以解决问题。我已经尝试了git reset HEAD@{1}
,但由于某些文件仍在更改,因此无法解决问题。好像它只回滚了一些文件。
在最近的git pull
命令之前,是否可以调用一个命令可靠地还原文件?
答案 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}
这样它也会重置你的工作树。