← Все вопросы

Как посмотреть, какие ветки есть в git, и удалить ненужную?

Задан 36 месяцев назад447 просмотров2 ответа
8

Накопилось много веток, и я уже не помню, какие из них рабочие. Как посмотреть список всех веток и удалить те, что уже слиты и не нужны? Боюсь снести что-то важное.

2 ответа

9
✓ Принятый ответ — помог автору

Сначала смотрим, потом удаляем.

Посмотреть список локальных веток:

git branch

Текущая ветка будет помечена звёздочкой *. Чтобы увидеть и удалённые ветки (на GitHub) тоже:

git branch -a

(-a = all).

Удалить локальную ветку, которая уже слита в main:

git branch -d old-feature

Флаг -d (от delete) — безопасный: git откажется удалять ветку, если в ней есть коммиты, которых нет в основной ветке. Это защита от потери работы.

Если git ругается «branch is not fully merged», но ты точно уверен, что ветка не нужна, — используй заглавную -D (принудительно):

git branch -D old-feature

Осторожно: -D удалит ветку, даже если в ней были несохранённые коммиты.

Удалить ветку на GitHub (удалённую):

git push origin --delete old-feature

Частая ошибка: пытаться удалить ветку, находясь на ней самой — git не даст («cannot delete branch checked out at...»). Сначала переключись на другую ветку (git switch main), а потом удаляй. И помни: безопасный -d лучше принудительного -D — он не даст случайно потерять незалитые коммиты.

3

Шпаргалка по веткам:

  • git branch — список локальных веток (текущая со *).
  • git branch -a — включая удалённые.
  • git branch -d ветка — удалить (безопасно, только если слита).
  • git branch -D ветка — удалить принудительно.
  • git push origin --delete ветка — удалить на GitHub.

Лайфхак: git branch --merged покажет ветки, уже влитые в текущую — их обычно безопасно удалять.

Ваш ответ

, чтобы ответить на вопрос.