(on linux:)
как пометить все объединенные удаленные git массовые ветви
git branch --remotes --merged |
grep --invert-match --perl-regexp "^ origin/(HEAD ->|master$)" |
sed "s#^ origin/##g" |
xargs -I {} \
git push origin origin/{}:refs/tags/merged/{}
git branch
- перечислить все удаленные объединенные ветви grep
- исключить главу, мастера из списка sed
- удалить префикс origin/
из имен филиалов xargs -I
выполнить следующую команду один раз для каждой строки, полученной из предыдущей команды (замена каждого вхождения {}
на имя ветви) git push
- пометить удаленную ветку с помощью merged/<branch-name>
tag
после что удаленные объединенные ветви могут быть удалены, поскольку они больше не нужны.
как обновить локальные копии удаленных тегов и ветвей после добавления / удаления удаленных
git fetch --tags --prune
--prune
удалит локальные копии удаленных филиалов, которых больше нет в удаленном репо --tags
извлечет теги, созданные в предыдущем разделе