Ветви — это часть повседневного процесса разработки и одна из самых мощных функций 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 '[email protected]:/my_repo'
В подобных ситуациях вам необходимо синхронизировать список веток с:
git fetch -p
Параметр -p
указывает Git перед загрузкой удалить все ссылки удаленного отслеживания, которые больше не существуют в удаленном репозитории.
Выводы
Мы показали вам, как удалить локальную и удаленную ветки Git. Ветви — это в основном ссылка на моментальный снимок ваших изменений и короткий жизненный цикл. После того, как ветка будет объединена с главной (или другой основной веткой), она больше не нужна, и ее следует удалить.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.