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

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

В этом руководстве рассказывается, как удалить локальные и удаленные ветки Git.

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

Команда git branch позволяет вам перечислять, создавать , переименовывать и удалять ветки.

Чтобы удалить локальную ветку Git, вызовите команду git branch с параметром -d ( --delete ), за которым следует имя ветки:

git branch -d branch_name
Deleted branch branch_name (was 17d9aa0).

Если вы попытаетесь удалить ветку, в которой есть не объединенные изменения, вы получите следующее сообщение об ошибке:

error: The branch 'branch_name' is not fully merged.
If you are sure you want to delete it, run 'git branch -D branch_name'.

Как видно из сообщения выше, чтобы принудительно удалить ветку, используйте параметр -D который является ярлыком для --delete --force :

git branch -D branch_name

Обратите внимание: если вы удалите несоединенную ветку, вы потеряете все изменения в этой ветке.

Чтобы вывести список всех ветвей, содержащих не объединенные изменения, используйте команду git branch --no-merged .

Если вы попытаетесь удалить текущую ветку, вы получите следующее сообщение:

error: Cannot delete branch 'branch_name' checked out at '/path/to/repository'

Вы не можете удалить ветку, в которой находитесь. Сначала переключитесь на другую ветку, а затем удалите branch_name :

git checkout mastergit branch -d branch_name

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

В Git локальная и удаленная ветки — это отдельные объекты. Удаление локальной ветки не удаляет удаленную ветку.

Чтобы удалить удаленную ветку, используйте команду git push с параметром -d ( --delete ):

git push remote_name --delete branch_name

Где remote_name обычно origin :

git push origin --delete branch_name
...
 - [deleted]         branch_name

Также существует альтернативная команда для удаления удаленной ветки, которую, по крайней мере, для меня запомнить сложнее:

git push origin remote_name :branch_name

Если вы работаете над проектом с группой людей и пытаетесь удалить удаленную ветку, которая уже удалена кем-то другим, вы получите следующее сообщение об ошибке:

error: unable to push to unqualified destination: branch_name The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to '[email protected]:/my_repo'

В подобных ситуациях вам необходимо синхронизировать список веток с:

git fetch -p

Параметр -p указывает Git перед загрузкой удалить все ссылки удаленного отслеживания, которые больше не существуют в удаленном репозитории.

Выводы

Мы показали вам, как удалить локальную и удаленную ветки Git. Ветви — это в основном ссылка на моментальный снимок ваших изменений и короткий жизненный цикл. После того, как ветка будет объединена с главной (или другой основной веткой), она больше не нужна, и ее следует удалить.

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

Оставьте комментарий