我几个月前删除了一个分支,认为我的项目不再需要它。事实证明,现在,几个月后,它实际上又需要了。不幸的是我在当地没有它......
有没有办法可以恢复它?
编辑:删除分支后我克隆了repo,所以我相信reflog无法帮助我。我也试过了“复活”http://repo.or.cz/w/git.git/blob/HEAD:/contrib/git-resurrect.sh,它没有向我展示分支。
编辑#2:这些都是很好的答案,但我想我搞砸了。自从我重新克隆以来,reflog对我没有任何帮助,它是一个独立的分支,它不在远程服务器上,没有其他人在本地拥有它。我想我只会改写它......
答案 0 :(得分:1)
是的,您可以在git中恢复已删除的分支。
首先,运行git reflog
并在已删除分支的顶端找到提交的 SHA1 。
然后只需git checkout -b <branchname> <sha>
重新创建分支及其历史记录。
答案 1 :(得分:1)
如果出现以下选项之一,您可以恢复分支:
(指定是否有任何相关的内容并且相应地更新答案)
平均而言,看看这里有更多想法: How to move HEAD back to a previous location? (Detached head)
答案 2 :(得分:1)
您可以尝试git reflog
并找到已删除分支的最新提交哈希值吗?
获得提交哈希后,请执行git reset --hard <commit>
这会将HEAD恢复为分支上的最新提交。
再次重新创建分支并结帐到新分支git checkout -b <branchname>
然后按分支git push origin <branchname>
我在https://confluence.atlassian.com/stashkb/how-to-restore-a-deleted-branch-744723130.html
的Atlassian知识库中找到了这个我希望这会有所帮助