执行git reset --hard无法回到分支最新提交该如何修复?
问题原因
你的操作中git reset --hard origin/test调用的是本地缓存的远程分支引用,该引用未同步远程仓库的最新状态,仍指向2019年的旧提交。你之前执行的git pull origin test仅会将远程test分支内容合并到当前本地test分支,不会更新本地存储的origin/test远程追踪分支指针,因此出现重置后跳到旧提交的问题。
修复步骤
1. 直接恢复到目标提交
你已经确认需要的最新提交哈希为42a90f86f992ca3e346597f9f639ef4cb7e3cf19,直接执行以下命令即可切换到该提交:
git reset --hard 42a90f86f992ca3e346597f9f639ef4cb7e3cf19
2. 同步本地远程分支缓存(可选,为后续操作准备)
如果后续需要继续使用origin/test引用操作,先执行以下命令拉取远程仓库的最新状态,更新本地所有远程追踪分支的缓存:
git fetch origin
同步完成后可通过git log origin/test验证远程test分支的最新提交是否符合预期,之后再执行git reset --hard origin/test就会指向最新提交。
注意事项
git reset --hard会清空本地未提交的修改,执行前请确认不需要保留工作区、暂存区的变动。- 如果需要将本地最新状态推送到远程,可在重置完成后执行
git push -f origin test(仅在你确认需要覆盖远程test分支时操作)。
内容的提问来源于stack exchange,提问作者mrjayviper
相关产品推荐
相关产品推荐

