git技能之恢复分支
在家办公的坏处就是整个人萌萌哒,看着不爽的分支就想删除
恰巧被我手贱删除的分支,还是一个经过测试,但没有安排上线的功能分支(似乎普通开发者就不应有删除分支的权限)。还好恢复的步骤比较简单,即使是远端分支被删除也可以恢复。
前提条件:
- 你记得你最后提交的内容
- 你有类似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创建,包含了你丢失的信息
评论已关闭