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

Удаление локальной и удаленной ветки 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 master git 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 'git@example.com:/my_repo'

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

 git fetch -p

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

Заключение

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

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

мерзавец

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *