Можете ли вы удалить несколько веток в одной команде с помощью Git? - PullRequest
288 голосов
/ 08 сентября 2010

Я бы хотел очистить свой локальный репозиторий, в котором есть тонна старых веток: например, 3.2, 3.2.1, 3.2.2 и т. Д.

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

git branch -D 3.2.*

и убейте все ветви 3.2.x.

Я попробовал эту команду, и она, конечно, не сработала.

Ответы [ 22 ]

0 голосов
/ 18 мая 2019

Сегодня я только что очистил большой набор устаревших локальных / удаленных веток.

Ниже я описал, как это сделал:

1.перечислить все имена ветвей в текстовый файл:

git branch -a >> BranchNames.txt

2.добавьте ветви, которые я хочу удалить, к команде "git branch -D -r":

git branch -D -r origin / dirA / branch01 origin / dirB / branch02 origin / dirC / branch03 (... добавить любые имена ветвей)

3.выполнить команду cmd

И эта работает намного быстрее и надежнее, чем " git push origin --delete ".

Это может быть не самым умнымкак указано в других ответах, но этот довольно простой и простой в использовании.

0 голосов
/ 08 декабря 2014

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...