在家办公的坏处就是整个人萌萌哒,看着不爽的分支就想删除

恰巧被我手贱删除的分支,还是一个经过测试,但没有安排上线的功能分支(似乎普通开发者就不应有删除分支的权限)。还好恢复的步骤比较简单,即使是远端分支被删除也可以恢复。

前提条件:

  1. 你记得你最后提交的内容
  2. 你有类似Jenkins的CI,有发布记录的

如果你能记住你最后的提交内容,在git log里检索就好。

git log -g | grep -C5 '提交信息'

你会得到类似如下格式的内容:

commit [commit_id]
Reflog: HEAD@{1} ([author_name] <[author_email]>)
Reflog message: commit: '提交信息'
Author: [author_name] <[author_email]>
Date:   Sun Jan 31 22:26:33 2016 +0800

    '提交信息'

其中commit字段对应的commit_id就是用于创建恢复分支的标记

如果你记不住最后提交的信息了(像我这样粗心大意),你可以使用考虑从类似Jenkins这样的发布工具中找找记录,如果能找到最后的发布记录,你也可以得到

Commit [commit_id] by [author_name]

之类的信息,其中的commit_id也是一样的

核心命令:git branch [new_branch_name] [commit_id]

这样你就有了一个新的恢复分支,基于commit_id创建,包含了你丢失的信息

标签: git

评论已关闭