我用git commit破坏了我的脚本。我可以使用此命令将其重置,然后使其再次运行:
git reset --hard 148cdea0c52 && git clean -f
但是当我执行git pull时,脚本再次中断。如何使该工作提交成为该分支的当前提交?
答案 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
命令以静默方式丢弃先前的提交。然后强行推送以更新远程存储库。不过,除非您完全知道要做什么,否则我会强烈建议您不要这样做。