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

误操作git commit --amend后的修复方法咨询

修复Git误执行git commit --amend导致的合并提交错误

核心修复思路:利用Git reflog恢复被覆盖的原始合并提交

Git会记录所有本地操作历史,哪怕是被覆盖的提交,都能通过reflog找回。具体步骤如下:

  1. 查找被覆盖的原始合并提交哈希
    执行命令查看所有本地Git操作日志:

    git reflog
    

    在输出里寻找带merge标记的记录(比如abc123 HEAD@{2}: merge feature/xxx: Merge made by the 'recursive' strategy.),记下这条记录的哈希值(示例中的abc123)。

  2. 恢复到原始合并提交,保留当前工作区修改
    用找到的哈希值执行软重置,恢复原始合并提交的同时,保留你之前处理后的工作区内容(filename.txt已取消暂存):

    git reset --soft <原始合并提交哈希>
    
  3. 重新提交正确的变更
    此时工作区和暂存区状态已符合预期,直接提交即可:

    git commit -m "你的正确提交信息"
    

补充说明

  • 若reflog里找不到目标记录,可尝试git fsck --lost-found查找孤立提交,但本地操作的情况下reflog通常会保留至少30天的历史。
  • 由于操作仅在本地分支进行,未推送到远程仓库,修改历史不会影响其他协作人员。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:40:33