背景介绍
在团队协作中,使用 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