删除本地分支后如何恢复它



我的本地仓库中有一个名为my_branch_1的分支,我删除了它。 my_branch_1只是本地的;我从来没有把它推到远程服务器。是否有可能以某种方式恢复此分支?

是的,您可以看到它的 SHA1 带有 git reflog .

然后,您可以重新创建它:

git checkout -b my_branch_1 SHA1

您还可以查看脚本(包含在 Git 发行版中): contrib/git-resurrect.sh .

<小时 />

在 Git 2.30(2021 年第 1 季度)中,"git resurrect"脚本(contrib/ )了解到对象名称可能超过 40 十六进制,具体取决于所使用的哈希函数。

请参阅提交 e37eae0, 提交 d047154 (07 Oct 2020) by Denton Liu ( Denton-L ).
(由 Junio C Hamano -- gitster -- 合并于 提交 f9c0e74,2020 年 10 月 30 日)

contrib/git-resurrect.sh:使用与哈希无关的 OID 模式

签约人:刘丹顿

由于 Git 现在支持 SHA-1 以外的哈希,因此不保证哈希长度为 40 个字符。将$_x40替换为与哈希无关的 OID 模式。

VonC引导您朝着正确的方向前进。

但我无法阻止自己分享这个很棒的 恢复 git 分支的 GithubGist。

最新更新