美文网首页
Git 分支删除后恢复

Git 分支删除后恢复

作者: 草帽lufei | 来源:发表于2020-02-27 10:50 被阅读0次

如果本地功能分支删除了,发现远程仓库也没有提交怎么办?

如,当前 FileServer 项目本地分支如下

➜ FileServer git:(master) git branch 
 download
 js-post-upload
 kekule
* master

删除 download 分支,查看本地分支,没有 download 分支了

➜  FileServer git:(master) git branch -D download 
Deleted branch download (was 260b35d).
➜  FileServer git:(master) git branch
  js-post-upload
  kekule
* master

找回删除分支

使用 git log -g 查看所有 commit,根据 commit 记录查找功能分支(download)的 commit 提交,删除的分支 commit 没有分支记录,如: commit 260b35df028dde0e467786c0489558be0e943ee4

➜  FileServer git:(master) git log -g

Author: gyw123 <username@xx.com>
Date:   Sun Jun 10 22:52:00 2018 +0800

    add 3d

commit 260b35df028dde0e467786c0489558be0e943ee4
Reflog: HEAD@{1} (gywgithub <qingyi_w@outlook.com>)
Reflog message: commit: add a.txt
Author: gywgithub <qingyi_w@outlook.com>
Date:   Wed Feb 26 18:34:03 2020 +0800

    add a.txt

commit d80a60f37d6c1d1ed633fb9bfab6e09ac06df6e8 (origin/js-post-upload, origin/js-post-upload, js-post-upload)
Reflog: HEAD@{2} (gywgithub <qingyi_w@outlook.com>)
Reflog message: checkout: moving from js-post-upload to download
Author: username <username@xx.com>
Date:   Thu Nov 14 17:18:29 2019 +0800

    add post_403

commit d80a60f37d6c1d1ed633fb9bfab6e09ac06df6e8 (origin/js-post-upload, origin/js-post-upload, js-post-upload)
Reflog: HEAD@{3} (gyw123 <username@xx.com>)
Reflog message: checkout: moving from d80a60f37d6c1d1ed633fb9bfab6e09ac06df6e8 to js-post-upload
Author: username <username@xx.com>
Date:   Thu Nov 14 17:18:29 2019 +0800

    add post_403

commit d80a60f37d6c1d1ed633fb9bfab6e09ac06df6e8 (origin/js-post-upload, origin/js-post-upload, js-post-upload)
Reflog: HEAD@{4} (gyw123 <username@xx.com>)
Reflog message: checkout: moving from master to origin/js-post-upload
Author: username <username@xx.com>
Date:   Thu Nov 14 17:18:29 2019 +0800

    add post_403

由于记得在功能分支(download)中最后添加了 a.txt 文件,现在可以确定 commit 260b35df028dde0e467786c0489558be0e943ee4 是功能分支(download)的提交

使用 git branch new_branch commitId 命令创建功能分支(download),这样创建出来的分支就保留了 commitId 的对应的代码修改

➜  FileServer git:(master) git branch download 260b35df028dde0e467786c0489558be0e943ee4
➜  FileServer git:(master) git branch 
➜  FileServer git:(master) git checkout download 
Switched to branch 'download'
➜  FileServer git:(download) git log

commit 260b35df028dde0e467786c0489558be0e943ee4 (HEAD -> download)
Author: gywgithub <qingyi_w@outlook.com>
Date:   Wed Feb 26 18:34:03 2020 +0800

    add a.txt
...
提示

如果 commit 记录很多,可以使用 git log -g --grep 'xxx' 命令根据 commit 提交的信息模糊搜索;或者使用 git log -g --author='username@xx.com' 命令根据用户名模糊搜索。

git 命令参数文档查找可以使用 git log --help , git --help

相关文章

  • Git 分支删除后恢复

    如果本地功能分支删除了,发现远程仓库也没有提交怎么办? 如,当前 FileServer 项目本地分支如下 删除 d...

  • Git删除分支/恢复分支

    • 删除一个已被终止的分支git branch -d 如果需要删除的分支不是当前正在打开的分支,使用branch...

  • Git-恢复已删除的分支

    当我们使用git branch -D 删除一个本地分支后,怎样才能恢复呢? 操作 : git log -g ...

  • Git 操作

    1. Git 删除本地分支和远程分支 git 删除本地分支:git branch -D git 删除远程分支: g...

  • git删除本地、远程分支

    git删除本地分支 查看本地分支 git branch 删除本地分支 git branch -d 删除已...

  • Git删除远程分支;Git删除本地分支

    Git 删除远程分支 Git 删除本地分支

  • git删除分支

    git 删除本地分支 git 删除远程分支

  • Git常用命令

    Git 新建本地分支git branch 分支名称 Git 删除本地分支git branch -d 分支名称要删除...

  • Git删除分支

    Git删除远程分支git push origin --delete <分支名> Git删除本地分支git bran...

  • git 删除远程分支

    git 删除远程分支 查看远程分支 git branch -a 删除远程分支 git push origin --...

网友评论

      本文标题:Git 分支删除后恢复

      本文链接:https://www.haomeiwen.com/subject/dbcichtx.html