Разработка
July 12, 2021

Удаляем несколько локальных Git веток

Одна команда для удаления сразу нескольких Git веток.

Вы когда-нибудь попадали в ситуацию, когда у вас накопилась куча веток, и вам нужно их разом удалить?

На самом деле, это довольно просто. Всё, что вам нужно, это это regex шаблончик для определения имени веток.

Команда будет выглядеть как-то так:

$ git branch | grep [PATTERN] | xargs git branch -D

Здесь три команды, соединенные вместе. Вот как они работают:

  1. git branch показывает список всеъ веток.
  2. grep [PATTERN] ищет по списку и возвращает пункты, попадающие под искомый паттерн.
  3. xargs возвращает нам список найденных строк из grep, и затем мы передаем его в git branch -D, который удалит эти ветки.

Пробуем

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

$ git branch | grep "^[ ]"

Настраиваем паттерн

Для упрощения нам нужно законфижить паттерн именования веток. Например, если ваши ветки именуются как 154/delete-method – номер задачи/заголовок, то паттерн будет следующим:

$ git branch | grep "^[ ]\+\d"

Готово!

Теперь вам остается подстроить паттерн под ваш формат именования веток и в дальнейшем вы сильно упростите себе жизнь.