如何取消删除github上的分支?

时间:2013-05-06 12:11:40

标签: git github

我不应该在github上删除分支。

我所做的如下:

1-我在我的系统中添加了一个新的.gitignore

2-我用

 git rm -r --cached .  
 git add .  
 git commit -m ".gitignore is now working"  

当我这样做时,我在本地系统上有一个分支,但服务器有两个分支。

然后我将我的分支推送到服务器,因为我没有第二个分支,所以在服务器上删除了第二个分支。

我怎样才能把它带回来?

我使用Github作为远程服务器。

4 个答案:

答案 0 :(得分:67)

如果您知道已删除分支的最后一次提交消息,则可以执行以下操作:

git reflog

#search for message

fd0e4da HEAD@{14}: commit: This is the commit message I want

#checkout revision

git checkout fd0e4da 

git checkout HEAD@{14}

#create branch

git branch my-recovered-branch

#push branch

git push origin my-recovered-branch:my-recovered-branch

答案 1 :(得分:12)

如果在Pull Request期间删除了此分支,您可以使用“恢复分支”按钮在UI中撤消该分支。

Tricky部分实际上是在找到已经合并和关闭的PR,您只需要知道要放入URL的URL或PR号。您可以尝试查看已删除的通知电子邮件或只是猜测PR号。

写这个原因reflog并没有帮助我恢复一个队友提交到我从未拉过我当地的git的分支。

答案 2 :(得分:3)

如果你git fetch remote && git checkout -b remote_branch_name

怎么办?

答案 3 :(得分:0)

在github.com里面你可以通过Pull请求事后恢复它,打开最后一个请求,你应该看到一个恢复/恢复分支按钮