Android

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

Приколы с кошками и котами

Приколы с кошками и котами

Оглавление:

Anonim

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

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

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

Чтобы удалить локальную ветку 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

… - 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. Ветви - это, по сути, ссылка на снимок ваших изменений и короткий жизненный цикл. Как только ветвь объединена с главной (или другой основной ветвью), она больше не нужна и должна быть удалена.

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