Как преобразовать все объединенные удаленные git ветви в теги? (создавать теги, удалять ветки) - PullRequest
1 голос
/ 24 января 2020

(Прежде чем я использую функцию delete merged branches в giltab (см. https://docs.gitlab.com/ee/user/project/repository/branches/#delete -merged-ветки ) - я хочу пометить их - на случай, если мне потребуется ссылаться на них в будущем.)

1 Ответ

0 голосов
/ 24 января 2020

(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 извлечет теги, созданные в предыдущем разделе
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...