我不应该在github上删除分支。
我所做的如下:
1-我在我的系统中添加了一个新的.gitignore
2-我用
git rm -r --cached .
git add .
git commit -m ".gitignore is now working"
当我这样做时,我在本地系统上有一个分支,但服务器有两个分支。
然后我将我的分支推送到服务器,因为我没有第二个分支,所以在服务器上删除了第二个分支。
我怎样才能把它带回来?
我使用Github作为远程服务器。
答案 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请求事后恢复它,打开最后一个请求,你应该看到一个恢复/恢复分支按钮