我从我的仓库中删除了代码,这些代码已经搞砸了。我想将整个项目还原到我上次的本地提交。我该怎么做?
答案 0 :(得分:51)
这会将所有内容重置为当前提交(删除所有更改,暂存或以其他方式:
git reset HEAD --hard
这会将所有内容重置为之前的提交(也可以删除所有更改,暂存或以其他方式)
git reset HEAD^ --hard
HEAD旁边的^表示在HEAD之前一次提交,HEAD是您当前的位置。您可以使用^^返回两个提交,或者使用^^^返回三个提交。此外,您可以使用代字号来指定提交次数:对于三次提交返回~3。
git reset HEAD~3 --hard
另请注意, - hard选项意味着这些命令会丢弃任何没有隐藏的更改。
答案 1 :(得分:11)
在git log
中找到您上次的本地提交,然后运行git reset --hard <commit sha1>
。
它将删除您尚未提交的所有本地更改,并将HEAD移至此提交。
答案 2 :(得分:3)
git pull
可以获取并合并多个提交。要返回到先前的本地状态(而不是返回n-commits),您可以使用 reflog 。 git reset --hard @{1}