Git reset 之后 怎么恢复到 reset 之前的节点

  • 首先定位到 工程目录\ .git\logs\refs\heads

  • 这里会显示本地对应的分支名字(masterdev 等等)

  • 然后找到你执行 reset 操作的分支名字, 比如 master.

  • 用 notepad++ 或者其他编辑器打开这个文件,内容结构如下:

    0000000000000000000000000000000000000000 9e6a4411ffa8b857680d923916ae329795a27e39 username email 时间戳 时区 branch: Created from HEAD
    9e6a4411ffa8b857680d923916ae329795a27e39 55b979d82534fa10c165a242a3d84ae1da54ab0b username email 时间戳 时区 commit: opt
    55b979d82534fa10c165a242a3d84ae1da54ab0b c67cf7c3f40324a969d3162b51c8413e9be3b574 username email 时间戳 时区 merge master: Merge made by the 'recursive' strategy.
    c67cf7c3f40324a969d3162b51c8413e9be3b574 a21d0c80d7092ee4d2067b90da202b8a5c5e8925 username email 时间戳 时区 reset: moving to a21d0c80d7092ee4d2067b90da202b8a5c5e8925
    a21d0c80d7092ee4d2067b90da202b8a5c5e8925 a0da4025a0f67503d59f3b7b2f17efa16853aca4 username email 时间戳 时区 reset: moving to a0da4025a0f67503d59f3b7b2f17efa16853aca4
    
  • 找到最下面最开始的一次 reset 操作,上面文件的倒数第二条。格式类似 a b username email 时间戳 时区 reset: moving to b,就是从节点a reset 到了 节点b.

    c67cf7c3f40324a969d3162b51c8413e9be3b574 a21d0c80d7092ee4d2067b90da202b8a5c5e8925 username email 时间戳 时区   reset: moving to a21d0c80d7092ee4d2067b90da202b8a5c5e8925
    
  • 所以我们要恢复到a, 只是执行命令 git reset a, a是节点标识码 即 git reset c67cf7c3f40324a969d3162b51c8413e9be3b574

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容