还原到本地提交?

时间:2011-05-15 10:35:04

标签: git

我从我的仓库中删除了代码,这些代码已经搞砸了。我想将整个项目还原到我上次的本地提交。我该怎么做?

3 个答案:

答案 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}