Для организации разработки различных версий программного обеспечения в Git используются ветки. Ветки также очень часто используются для разработки новой функциональности в программе. Если разработкой продукта занимается команда, каждый разработчик может работать над своей частью функциональности в отдельной ветке.
Когда работа будет завершена, получившуюся ветку можно будет совместить с основной перед этим отправив её на проверку другим участникам команды. При таком рабочем процессе со временем накапливается много ненужных веток, которые надо удалять. В этой небольшой статье мы рассмотрим как удалить ветку локально и удаленно git.
Содержание статьи
Как удалить локальную ветку Git
Прежде чем что-либо удалять необходимо посмотреть какие ветки у вас есть. Для того чтобы посмотреть локальные ветки используйте такую команду в папке с репозиторием:
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 завершено, если после этого вы снова проверите список локальных веток, то этой ветки там больше не будет:
А теперь давайте разберемся как выполняется удаление удалённой ветки Git. В данном случае ветка удалилась только локально, но если она была уже отправлена в удалённый репозиторий, то там она всё ещё есть.
Как удалить удалённую ветку Git
Теперь давайте разберемся как удалить ветку из удаленного репозитория git. Прежде чем смотреть ветки необходимо получить список веток и все обновления из добавленных удалённых репозиториев. Для этого выполните:
git pull
Для того чтобы посмотреть удалённые ветки необходимо выполнить такую команду в папке с репозиторием git:
git branch -r
Здесь все ветки отмечены красным и перед именем каждой из них выводится имя удалённого источник, в котором есть эта ветка. В данном случае это origin. Для удаления удалённой ветки используется команда push с опцией --delete, например, для той же feature/somefeature1 команда будет выглядеть вот так:
git push origin --delete feature/somefeature1
Теперь такой ветки нет в удалённом репозитории:
У команды, которая позволяет удалить удаленную ветку git есть и упрощённый синтаксис. Вместо опции --delete достаточно поставить перед именем ветки двоеточие. Например:
git push origin :feature/somefeature1
Такая команда тоже будет работать. Если вы хотите удалить все удалённые ветки, которых нет локально, используйте команду:
git push --prune origin
Выводы
В этой небольшой статье мы рассмотрели как удалить ветку Git, которая размещена удалённо или локально. Как видите, всё это очень просто даже при использовании командной строки. Если вы будете использовать графические клиенты, то всё станет ещё проще.
Как сделать такую тему терминала? очень удобно!
Это тема окон yaru (стандартная в Ubuntu) и цвет фона терминала #3F3C3C.
А можно удалить все локальные ветки, которые были удалены в репозитории?
Чтобы не удалять их все вручную командой git branch -d ?
У git нет такой команды, есть разные комбинации команд которые позволяют подобное сделать, но лучше делать вручную.