Как восстановить удаленный удаленный филиал

Я случайно сделал это:

$ git push origin :development
To [email protected]:yyyyy/projects/web.git
 - [deleted]         development

Как мне отменить? Что я могу сделать второй раз?

Ответ 1

Если ваша ветка была достаточно современной с удаленной, просто:

git push origin development:development

должно быть достаточно, поскольку проиллюстрировано этой нитью.
Если это не так, необходимо выполнить локальное действие на стороне удаленного сервера (через reflog или fsck), чтобы получить ответвление HEAD SHA1 id и проверить его снова.

Ответ 2

Я искал метод восстановления удаленной удаленной ветки в течение длительного времени. Я только что нашел, что вы можете использовать:

% git clone –mirror your_remote_repo_url

и..

% git fetch

Пока вы удалите "git fetch" перед удалением ветки, удаляемая ветка будет извлечена. Поведение соответствует правилам git сервера bakup по умолчанию.

... в зеркальном репо для резервного копирования удаленного репо. Резервное копирование будет содержать все ветки, включая те, которые вы удалили.