Восстановить ветку, удаленную с GitHub

У меня была ветка в проекте GitHub, которую я слил в master. Затем я нажал кнопку «Удалить ветку» на GitHub и подумал, что все готово.

Оказывается, я не был, и я хочу восстановить / активировать ветку. Я не удалял ветку в моем локальном репозитории и не запускал никаких git fetch/pull впоследствии. Просто нажал кнопку удаления на GitHub.

Хотел выяснить, каким должен быть следующий шаг. Подумал о том, чтобы сделать git push из моего локального ящика, но не был уверен, каковы могут быть последствия, будет ли удаленное репо на GitHub кричать о возвращении мертвой ветки и т. Д.


person larryq    schedule 31.10.2013    source источник
comment
Здесь вы можете найти некоторую помощь: stackoverflow.com/questions/ 1992364 /   -  person hichris123    schedule 05.11.2013


Ответы (3)


Если вы не удаляли ветку с локального компьютера и у вас есть права на отправку на GitHub, вы можете восстановить ее на Github, нажав еще раз.

git checkout localBranchName
git push origin localBranchName

Не имеет значения, делаете ли вы выборку из Github, git не удалит вашу локальную ветку, пока вы явно не скажете ему сделать это с помощью

git branch -D localBranchName

Фактически, даже если вы удалили локальную ветку, если вы ранее объединили ее с master, вы можете восстановить ее локально. Вы должны перейти к последней фиксации перед слиянием и перейти оттуда. Примерно так:

git checkout master
git checkout -b localBranchName
git reset --hard HEAD~1 ( 1 is the number of commits you want to undo )

Вторая команда создаст новую ветку, указывающую на вашу последнюю фиксацию на главном сервере. Третья команда будет последней фиксацией отмены (только в этой ветке) слияния с мастером.

Еще вы можете использовать "git reflog". Эта команда очень полезна, поскольку она будет показывать каждый раз, когда вы переходите между ветвями и / или совершаете коммиты.

person Guillermo Maschwitz    schedule 28.11.2013

Похоже, что теперь есть кнопка «Восстановить ветвь», которая появляется вместо «Удалить ветку».

person Shadi    schedule 20.01.2017

Зайдите в свой список коммитов. Найдите фиксацию слияния и щелкните номер запроса на вытягивание (номер с префиксом #). Это направит вас на страницу с информацией о слиянии и кнопку с надписью «Восстановить ветку». Щелкните по нему, и он будет восстановлен.

person Loke    schedule 16.04.2019