如何撤销今日所有Git操作并恢复至2小时前的状态?
恢复到2小时前的Git状态
先查本地所有操作日志,找到2小时前的状态:
git reflog输出里每条记录都带时间戳,找到对应2小时左右的那一行,记下后面的提交哈希值(比如
a1b2c3d)或者HEAD@{n}标记。验证该状态是否正确(可选但推荐):
git show a1b2c3d检查输出的文件内容、提交信息是不是你2小时前的工作状态。
强制重置到该状态:
git reset --hard a1b2c3d把
a1b2c3d换成你找到的哈希值或HEAD@{n}就行。如果本地日志里找不到目标状态,试试从远程仓库找更早的备份(前提是远程有对应提交):
先看远程master分支的近期提交:git log origin/master --oneline --since="2 hours ago"找到对应提交哈希后,同样用
git reset --hard <哈希值>重置。
⚠️ 注意:git reset --hard会直接丢掉当前工作区和暂存区的所有未提交修改,执行前务必确认没有需要保留的内容。
内容的提问来源于stack exchange,提问作者Shyne
相关产品推荐
相关产品推荐

