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

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

Одна из самых сильных сторон Git - его легкие ветки. Они позволяют эффективно работать над параллельными этапами разработки. Разработчик может даже создать отдельные ветки для отдельных ошибок. И во времени, и в пространстве филиалы почти бесплатны.





как сделать серию в снэпчате

Многие рабочие процессы git имеют дело как с долгосрочными, так и с временными ветвями. Поэтому во время разработки часто возникает необходимость удалять ветки. Иногда возникает необходимость удалить общие ветки с удаленного сервера, а также локальные ветки.





Зачем удалять ветку?

Во-первых, если вы все еще осваиваете git, вполне вероятно, что вы создадите ветку, а затем решите, что в этом нет необходимости. Или вы можете экспериментировать с ветвями и желать убрать после себя. Это нормально, поскольку ветвление в git - это легкая операция. Это очень быстро и эффективно использует дисковое пространство.





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

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



Пример репозитория с ветвями

Следующие примеры относятся к образцу репозитория со следующей структурой:

$ git branch -vv
1 dev 1ae41e8 [origin/dev] first commit
2 * main 1ae41e8 [origin/main] first commit

Обратите внимание, что каждая локальная ветвь имеет соответствующую ветвь восходящего потока от удаленного: источник .





Удаление ветки с помощью командной строки

Основной синтаксис команды для удаления ветки:

git branch (-d | -D) [-r] ...

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





$ git branch -d dev

Вы не можете удалить активную ветку; если вы попытаетесь это сделать, вы получите такое сообщение:

error: Cannot delete branch 'main' checked out at '/tmp/sandbox'

Когда все пойдет хорошо, вы увидите подтверждающее сообщение:

Deleted branch dev (was 1ae41e8).

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

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

Как сообщается в сообщении об ошибке, вы можете принудительно удалить с помощью -D флаг. Однако git позволит вам удалить не объединенную локальную ветку, если она существует удаленно:

warning: deleting branch ‘dev’ that has been merged to
'refs/remotes/origin/dev’, but not yet merged to HEAD.
Deleted branch dev (was 9a6d20b).

Другое дело удаление удаленной ветки. Вы будете использовать git push команда вместе с -d флаг для удаления. После этого укажите имя пульта (часто источник ) и название ветки:

$ git push -d origin dev
To github.com:bobbykjack/sandbox.git
- [deleted] dev

Удаление локальных и удаленных ветвей с помощью рабочего стола GitHub

В отличие от программы git из командной строки, Настольное приложение GitHub позволит вам удалить только активную ветку. Вы можете выполнить это действие через Ветвь меню, выбрав Удалить вариант и подтвердив его:

GitHub Desktop не позволит вам удалить ветку по умолчанию, например. main - хотя сам git поддерживает это. Если ветвь по умолчанию является активной в данный момент, приложение отключает действие меню.

Если ветка также представляет собой удаленную ветку, GitHub Desktop также дает возможность удалить ее с удаленного компьютера:

Удаление веток с помощью GitKraken

GitCrack отображает локальную и удаленную ветки вашего репозитория на левой боковой панели. Вы должны удалить каждыйраздельно.

Наведите указатель мыши на название соответствующей ветки и щелкните значок Ветвь меню действий в виде трех вертикальных точек. В меню выберите Удалить :

Вы увидите подтверждающее сообщение о том, что это деструктивная операция. Вы можете подтвердить, что хотите продолжить Удалить кнопка:

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

Удаление локальных и удаленных веток с помощью Tower

Удаление ветки с Башня очень похоже на удаление ветки с помощью GitKraken. Локальные и удаленные ветви показаны на панели слева. Щелкните правой кнопкой мыши любую ветку и выберите в контекстном меню опцию Удалить:

Одно из ключевых отличий заключается в том, что удаленную ветку можно удалить вместе с локальной веткой во время подтверждения:

Удаление ветки на GitHub

GitHub действует только как удаленный источник, поэтому ветки по умолчанию являются удаленными. Если вы удалите ветку с помощью веб-сайта GitHub, вам придется удалить соответствующую локальную ветку одним из других способов, описанных здесь.

Как и в случае с настольным приложением GitHub, веб-сайт GitHub не позволит вам удалить ветку по умолчанию. Варианта просто не появляется. Однако удалить ветку несложно. Из репозитория Код страницу, щелкните ветви ссылку, найдите ветку, которую нужно удалить, затем щелкните Удалить эту ветку значок, похожий на корзину:

Имейте в виду, что нет никаких проверок на наличие не связанных изменений, поэтому на GitHub ветка будет просто немедленно удалена. Однако, поскольку он всегда будет представлять удаленную ветку, вы ожидаете именно такого поведения.

Обратите внимание, что после удаления вы увидите кнопку Восстановить филиал. Однако это просто полезная функция отмены, если вы случайно нажмете значок удаления. Не полагайтесь на это, потому что как только вы обновите страницу или уйдете со страницы, вы потеряете эту возможность!

Удаление локальных и удаленных веток на Bitbucket

Bitbucket, как и GitHub, не позволяет удалить ветку по умолчанию. Bitbucket называет это Основная отрасль в Настройки репозитория . Вы можете удалить любую другую ветку, указанную на ветви вкладку через соответствующий Действия меню:

Вы также можете удалить сразу несколько веток, если выполняете большую операцию по очистке:

Удаление веток - часть типичного рабочего процесса Git

Ветви Git могут усложнить ваш рабочий процесс, особенно с локальными, удаленными и отслеживающими ветвями. Но для простой повседневной разработки вы, вероятно, будете постоянно создавать и удалять локальные ветки. Это основной аспект типичного рабочего процесса git, к которому вы должны привыкнуть.

Делиться Делиться Твитнуть Эл. адрес Как использовать ветви Git для структурирования вашего проекта программирования

В этой статье мы рассмотрим, что означает ветвление вашего кода, как это сделать и как управлять обновлениями в «основной» ветке git.

Читать далее
Похожие темы
  • Программирование
  • GitHub
Об авторе Бобби Джек(Опубликовано 58 статей)

Бобби - энтузиаст технологий, проработавший разработчиком программного обеспечения большую часть двух десятилетий. Он увлечен играми, работает редактором обзоров в Switch Player Magazine и занимается всеми аспектами онлайн-публикации и веб-разработки.

Ещё от Bobby Jack

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться