假设现在有三个分支,当前在temp分支上,领先master分支一个版本,现在我们把master分支强行删除
git branch -D master
此时恢复操作可以在任意其他分支上进行,例如我们可以切到dev上恢复
git checkout dev
#查看分支操作日志
git reflog
找到master上的最后一次commit,即:
c1d2e5c HEAD@{13}: commit: 2nd commit on master
将HEAD移动到那一次的commit上
git checkout c1d2e5c
此时处于detached HEAD状态,即某一次特定的提交上,这也是master被删除时所在的位置,在此处创建master分支即可
git checkout -b master
此时master就回来了。那么同样的思路,我们想更改分支的名字,也可以这么操作,如我们把dev改成develop