2015-10-11 3 views
2

Я хочу удалить локально все ветки, которые я могу видеть с помощью git branch -r. Я уже удалил все файлы из .git/refs/remote/*/и соответствующих записей из .git/info/refs, но они все еще там.Как удалить все удаленные ветви git

+0

Проверено '.git/упакованную-refs'? – MrTux

+0

Пока нет. Безопасно ли редактировать этот файл вручную? – raacer

+1

Да, вы можете отредактировать его вручную (это простой текстовый файл с одной или двумя строками для каждого ref) или вызвать 'git branch -r -D NAME'. Почему вы хотите удалить их вручную? - если удаленные удалены, вы xan используете 'git fetch REMOTE --prune' – MrTux

ответ

2

Эта команда сделала работу:

git branch -r | xargs git branch -r -D

manual Из:

Используйте -r вместе с опцией -d, чтобы удалить удаленные отслеживания ветвей. Обратите внимание, что имеет смысл удалять ветви удаленного отслеживания, если они больше не существуют в удаленном репозитории или если git fetch настроен не для их повторной загрузки. См. Также подкоманду prune git-remote (1) для способа очистки всех устаревших ветвей удаленного отслеживания.

Благодаря @MrTux