适用场景:

  1. 创建了本地分支,未提交到远端
  2. 已经commit了修改到该本地分支(就是已经做了代码改动)
  3. 误删了该本地分支,希望找回(就是手贱把分支误删了)

恢复方法:

  1. 使用git log -g找回之前提交的commit,并记下commit_id
  2. 使用git branch newbranch commit_id创建一个新分支
  3. 使用git checkout newbranch切换到newbranch分支,检查文件是否存在。

分支强制覆盖

比如当前分支是maser分支,现需要将gamma分支上的代码完全覆盖到master分支

1、首先git checkout,切换到master分支,也即切换到需要覆盖的分支
2、执行下面操作进行覆盖代码(此时代码在本地分支),也即强制将当前分支还原到想要切换到的分支
git reset --hard origin/gamma
3、将本地分支强行推到远程分支,也即强制推送上库,此时要注意如果如果设置了分支保护,可能需要先进行关闭
git push -f