Как посмотреть, какие ветки есть в git, и удалить ненужную?
Накопилось много веток, и я уже не помню, какие из них рабочие. Как посмотреть список всех веток и удалить те, что уже слиты и не нужны? Боюсь снести что-то важное.
2 ответа
Сначала смотрим, потом удаляем.
Посмотреть список локальных веток:
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 — он не даст случайно потерять незалитые коммиты.
Шпаргалка по веткам:
git branch— список локальных веток (текущая со*).git branch -a— включая удалённые.git branch -d ветка— удалить (безопасно, только если слита).git branch -D ветка— удалить принудительно.git push origin --delete ветка— удалить на GitHub.
Лайфхак: git branch --merged покажет ветки, уже влитые в текущую — их обычно безопасно удалять.