Home News

Git и GitHub как удалить локальную и удаленную ветки

29.08.2018

видео Git и GitHub как удалить локальную и удаленную ветки

Git - #4 - как работают ветки

Иногда при работе с локально и удаленной веткой нам требуется их удалять. Например эта ветка отдельной функциональности которая уже слита в develop или master. Или это ветка для устранения багов. Давайте посмотрим как можно легко и быстро удалять локальные (local) и удаленные (remote) ветки.



Быстрый ответ — финальное резюме

$ git push -d <remote_name> <branch_name> $ git branch -d <branch_name>

Замечу, что в большинстве случаев удаленный репозиторий записан как  origin.

Удаляем локальную ветку

Чтобы удалить локальную ветку используем одну из следующих команд:

$ git branch -d branch_name $ git branch -D branch_name

Пояснение: ключ -d это ярлык команды --delete, которая удаляет ветку, только если последняя полностью смержена в ее upstream ветку. Можно также использовать команду -D, которая является алиасом команды --delete --force, которая удаляет ветку «невзирая на ее мерж статус» (независимо объединяли вы ее с вышестоящей upsream веткой ли нет).


Git - Репозиторий на GitHub #11

Удаление удаленной remote ветки

В Git версии v1.7.0 , вы можете удалить remote ветку используя

$ git push <remote_name> --delete <branch_name>

что возможно легче запомнить, чем команду

$ git push <remote_name> :<branch_name>

которая была добавлена в Git v1.5.0  «чтобы удалить удаленную remote ветку или тег tag.»

Начиная с Git v2.8.0  вы также можете использовать git push с опцией -d как ярлык вместо --delete.

Более того, версия гита которая у вас установлена будет определять какой синтаксис использовать, более легкий или более сложный.

Удалить удаленную remote ветку

Цитата из 3-ей главы книги   Pro Git  Скотта Чакона:

Удаление Удалённых Веток

Полагаю вы завершили с работой в удаленной ветке, вы и ваши сотрудники закончили с новой фичей и смержили ее в вашу mster ветку на удаленном репозитории. Вы можете удалить удаленную ветку используя довольно тупой синтаксис git push [remotename] :[branch]. Если вы хотите удалить вашу bugfix ветку с фиксом багов на сервере, вы запускаете следующую команду:

$ git push origin :serverfix To [email protected]:schacon/simplegit.git - [deleted] serverfix

Бабах! И не больше такой ветки на вашем сервере. Наверное вам захочется поставить закладку на эту страницу, потому что вам еще понадобится эта команда, и вы скорее всего забудете как она пишется. Способ чтобы запомнить эту команду, вспомнить прошлую git push [remotename] [localbranch]:[remotebranch] синтаксис которой мы рассматривали немного ранее. Если вы оставите [localbranch] , тогда вы буквально скажите следующее “Возьми ничего с моей стороны и сделай это [remotebranch].”

Я использовал git push origin :bugfix и это отлично работает.

После, вам следует выполнить эту команду на других машинах разработчиков:

git fetch --all --prune

чтобы распространить изменения.

Новости

rss