Удаляем ветку Git

04.09.2021, 19:43

С целью обеспечения разработки различных версий ПО здесь реализованы ветки. Они используются для разработки новой функциональности в утилите. Если разработкой продукта занимается команда, каждый разработчик может работать над определенной функциональности в отдельной ветке.

Когда работа будет завершена, ее совмещают с основной, отправив предварительно её на проверку другим участникам команды. При таком рабочем процессе со временем накапливается много ненужных, которые надо удалять. В этой инструкции поговорим о том, как удалить локально и удаленно.

Как удалить 

Перед удалением ветки посмотрим, что мы имеем. Для просмотра локальных используйте команду в папке с репозиторием:

$ git branch

Команда выводит список локальных, зеленым цветом и звездочкой выделяется текущая. Чтобы удалить ее, необходимо использовать ту же команду branch с опцией -d. Например, для того чтобы удалить feature/somefeature1 выполните такую команду

$ git branch -d feature/somefeature1

Как вариант:

$ git branch --delete feature/somefeature1

Если в этой ветке есть не зафиксированные изменения или коммиты, не отправленные на сервер, то программа может отказаться её удалять. Для того чтобы всё же удалить используйте опцию -D:

git branch -D feature/somefeature1

И еще способ:

git branch --delete --force feature/somefeature1

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

Дальше разберемся как выполняется удаление удалённой ветки. В этом случае ветка удалилась только локально, но если она была уже отправлена в удалённый репозиторий, то там она всё ещё есть.

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

Как удалить ее из удаленного репозитория? В первую очередь необходимо получить список и все обновления из добавленных удалённых репозиториев.

Выполняем:

git pull

Для того чтобы посмотреть удалённые необходимо выполнить такую команду в папке с репозиторием git:

$ git branch -r

Здесь находятся отмеченные красным и перед именем каждой из них указан источник, в котором она есть. В данном случае это origin. Для удаления удалённой используется команда push с опцией --delete, например, для той же feature/somefeature1команда будет выглядеть вот так:

git push origin --delete feature/somefeature1

Теперь в репозитории она отсутствует.

Команды, позволяющие удалить удаленную есть, а еще упрощённый синтаксис. Вместо опции --delete укажите перед именем двоеточие. Например:

git push origin :feature/somefeature1

Такая команда тоже будет работать. Если вы хотите удалить все удалённые ветки, которых нет локально, используйте команду:

git push --prune origin

На этом все. Мы рассмотрели инструкцию. Сделать это не так сложно. Если вы будете использовать графические клиенты, то всё станет ещё проще.