还原到本地提交?

Ski*_*zit 26 git

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

Chr*_*sys 53

这会将所有内容重置为当前提交(删除所有更改,暂存或以其他方式:

git reset HEAD --hard
Run Code Online (Sandbox Code Playgroud)

这会将所有内容重置为之前的提交(也可以删除所有更改,暂存或以其他方式)

git reset HEAD^ --hard
Run Code Online (Sandbox Code Playgroud)

HEAD旁边的^表示HEAD 之前的一次提交,HEAD是您当前的位置.您可以使用^^返回两个提交,或者使用^^^返回三个提交.此外,您可以使用代字号来指定提交次数:对于三次提交,可以使用~3.

git reset HEAD~3 --hard
Run Code Online (Sandbox Code Playgroud)

还要记住, - hard选项意味着这些命令会丢弃任何没有隐藏的更改.

  • 总是很高兴看到使用`git reset --hard`的建议附加了适当的安全警告,就像在这个答案中一样 - 令人担忧的stackoverflow答案数量不... (3认同)

Mic*_*ant 12

找到您最后一次本地提交git log并运行git reset --hard <commit sha1>.

它将删除您尚未提交的所有本地更改,并将HEAD移动到此提交.