web-dev-qa-db-fra.com

Existe-t-il un script pour répertorier les branches git créées par moi?

Je suis conscient que les succursales ne stockent pas vraiment les informations sur le créateur - et qu'elles ne sont qu'un pointeur vers une validation.

Mon objectif est de pouvoir nettoyer mes anciennes branches qui ont été fusionnées à la branche principale et répertorier les branches où cela n'a pas été fait non plus. (Un nettoyage).

C'est différent de "trouver des branches non fusionnées" parce que je veux aussi trouver des branches fusionnées, et je veux le faire par auteur.

Ma question est: Existe-t-il un script pour lister les branches git créées par moi?

33
hawkeye

Cette commande répertorie toutes les branches et leurs noms d'auteur

git for-each-ref --format=' %(authorname) %09 %(refname)' --sort=authorname 

Si vous utilisez github, vous pouvez également visiter https://github.com/author/repo/branches/yours pour obtenir toutes vos succursales

Si vous souhaitez simplement supprimer toutes les branches déjà fusionnées, vous pouvez nous utiliser la commande

git branch --merged | grep -v "\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d

Pour plus de détails sur git for-each-ref visitez ici .

47
SachinSunny

Comme une légère condensation de la réponse de SachinSunny ci-dessus, vous pouvez utiliser les fonctionnalités d'expression régulière de grep pour accomplir une commande plus simple:

git branch --merged | grep -Pv "\*|master|dev" | xargs -n 1 git branch -d
5
Eric