Git还原失败拉

时间:2018-09-07 20:21:54

标签: git

我用git commit破坏了我的脚本。我可以使用此命令将其重置,然后使其再次运行:

git reset --hard 148cdea0c52 && git clean -f

但是当我执行git pull时,脚本再次中断。如何使该工作提交成为该分支的当前提交?

1 个答案:

答案 0 :(得分:1)

您的reset命令未产生预期结果的原因是reset命令实际上将当前分支的当前HEAD重置为指定的状态/提交(例如148cdea0c52)。但是,当您再次执行git pull时,当前的HEAD将转到原始HEAD,该HEAD包含您要删除的越野车提交。

一种快速修复方法是-重置HEAD之后,您可以强制执行更新远程分支的HEAD的操作。

最干净的方法是运行

git revert <commit-id>

***在这里,<commit-id>应该是引入该错误的提交。 git revert将通过还原原始提交中的更改来创建新的提交。之后,您可以将当前的HEAD推送到远程存储库,以便远程存储库也具有最新的修复程序。

您还可以运行git rebase -i命令以静默方式丢弃先前的提交。然后强行推送以更新远程存储库。不过,除非您完全知道要做什么,否则我会强烈建议您不要这样做。