今天开发功能的时候,发现之前的分支忘记合并(分支太多),并且还删除了😂,于是 Google 了一番,根据以下步骤进行了分支恢复。

我删除的分支名称为:hotfix-audit-20230314

查询历史 commit 记录

git reflog用来记录你的每一次命令,--date=iso 表示以标准时间显示。

1
2
3
4
5
6
7
8
9
git reflog show --date=iso

...
b78d26e HEAD@{2023-03-14 16:48:03 +0800}: checkout: moving from hotfix-audit-20230314 to develop
e1e7481 HEAD@{2023-03-14 17:43:02 +0800}: checkout: moving from test to hotfix-audit-20230314
6d4fead HEAD@{2023-03-14 17:36:09 +0800}: merge hotfix-audit-20230314: Merge made by the 'ort' strategy.
182510b HEAD@{2023-03-14 17:36:05 +0800}: checkout: moving from hotfix-audit-20230314 to test
e1e7481 HEAD@{2023-03-14 17:36:01 +0800}: commit: fix: 修复审核失败xxxxxxx
...

复制第一列的 commit id,例如:b78d26e

查看 commit id 详情

通过以下命令,查看具体的提交详情,确认是需要恢复的分支代码。

1
git show b78d26e

恢复分支

上面步骤确认没问题后,即可通过以下命令进行恢复。

1
git checkout -b  hotfix-audit-20230314 b78d26e