Git Rebase 操作中丢失提交的恢复方法

背景介绍

在团队协作中,使用 Git 进行版本控制是常见实践。然而,有时在执行 git rebase 或者其他操作后,我们可能会发现自己的提交记录"消失"了,这往往让开发者感到恐慌。本文将介绍几种在 rebase 后恢复丢失提交的方法。

问题描述

当我们执行以下操作时,可能会导致提交记录丢失:

  • 从远程仓库拉取最新代码
  • 执行 git rebase origin/develop
  • 发现自己的若干个提交记录不见了

恢复方法

1. 使用 Git Reflog 恢复

Git 会在本地保存所有操作的历史记录,即使提交看起来"消失"了,也可以通过 reflog 找回:

# 查看所有操作历史
git reflog

# 找到 rebase 前的 commit 记录,记下其 hash 值
# 例如:abc1234 HEAD@{5}: commit: 某个提交信息

# 基于找到的 commit 创建新分支
git branch recovery-branch abc1234