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

Тема дорожной карты · Изучи Git

Удаление ветки в Git — это важный шаг для поддержания чистости и организации вашего репозитория. Команда git branch -d <name> позволяет безопасно удалить локальную ветку, только если она уже слита в свой upstream или в HEAD. Если ветка содержит несведённые коммиты, Git откажется от удаления, чтобы избежать потери работы. Для принудительного удаления используется команда git branch -D <name>, что может быть полезно после squash-merge через pull request, когда коммиты ветки уже не совпадают с результатом слияния. Чтобы удалить соответствующую ветку на удалённом сервере, используется команда git push origin --delete <name> (или старое git push origin :<name>). Периодически запускайте git fetch --prune, чтобы автоматически удалять устаревшие remote-tracking ссылки.

Как это работает

Удаление ветки в Git начинается с её создания, переключения и слияния. Для создания новой ветки используется команда git branch <name>. Переключение на созданную ветку выполняется с помощью git switch <name> или git checkout <name>. Современный вариант переключения и создания новой ветки одновременно — это команда git switch -c <name>. Удаление слившейся ветки выполняется командой git branch -d <name>, а принудительное удаление — командой git branch -D <name>. Команда git branch -v выводит список всех веток с последним коммитом.

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

Когда применять

Ветка на каждую отдельную работу — это стандартная практика в Git. Для каждой задачи создается отдельная ветка, которая затем может быть слита в основную ветку или отмечена как завершенная. Конвенция имён, используемая для веток, обычно включает префиксы, такие как feat/ для новых функций, fix/ для исправлений ошибок и docs/ для изменений документации.

Удаление слившейся ветки — это важный шаг для поддержания чистоты репозитория. Команда git fetch --prune автоматически удаляет устаревшие remote-tracking ссылки, что позволяет поддерживать актуальность локальной копии репозитория.

Типичные ошибки

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

Связанные понятия

Полезные ресурсы