You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行Git提交历史重置后,如何恢复原始提交记录?

恢复原始提交历史的方法

如果你的修改还没推送到远程仓库,完全可以恢复到rebase操作前的状态,具体步骤如下:

方法一:利用Git引用日志(reflog)恢复

Git会记录所有HEAD的变更历史,哪怕是被覆盖的提交也能找到:

  • 运行git reflog,查看所有HEAD的操作记录,找到rebase执行前的那条记录(格式类似HEAD@{n},n为数字,备注里会标注你执行rebase前的状态)
  • 找到对应记录的哈希值或HEAD@{n}标识后,执行git reset --hard <哈希值/HEAD@{n}>,就能直接回到rebase操作前的原始提交历史

方法二:通过标签恢复(若之前有打标签)

如果你在执行rebase前,给最后一次有效提交打了标签,直接运行git reset --hard <标签名>即可快速恢复

补充:修改作者信息同时保留原始提交日期的正确命令

如果你之后还要重新修改作者信息,又不想破坏原始提交时间,可以用这条命令:
git rebase -r --root --exec "GIT_COMMITTER_DATE=\"$(git show --no-patch --format=%ci HEAD)\" git commit --amend --no-edit --reset-author"

它会通过GIT_COMMITTER_DATE变量把提交者日期重置为原始提交日期,同时更新作者信息,避免所有提交显示为同一时间。


内容的提问来源于stack exchange,提问作者cestpasmoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 14:34:51