J'ai beaucoup de branches git. Comment puis-je supprimer les branches qui ont déjà été fusionnées? Est-il un moyen facile de supprimer tous au lieu de les supprimer un par un?
Réponses
Trop de publicités?Mise à JOUR:
Pour supprimer toutes les branches qui sont déjà fusionné dans l'extrait de la branche:
git branch --merged | grep -v "\*" | xargs -n 1 git branch -d
Vous pouvez supprimer une fusion de la branche locale avec:
git branch -d branchname
Si ce n'est pas fusionné, utilisez:
git branch -D branchname
Pour le supprimer de la distance dans les anciennes versions de Git utilisation:
git push origin :branchname
Dans les versions plus récentes de Git utilisation:
git push --delete origin branchname
Une fois que vous supprimez la branche à partir de la télécommande, vous pouvez le tailler pour se débarrasser de suivi à distance des branches avec:
git remote prune origin
taille individuelle de suivi à distance des branches, comme l'autre réponse suggère, avec:
git branch -dr branchname
Espérons que cette aide.
Pour supprimer toutes les branches de la télécommande qui sont déjà fusionné:
git branch -r --merged | grep -v master | sed 's/origin\//:/' | xargs -n 1 git push origin
Dans les versions plus récentes de Git
git branch -r --merged | grep -v master | sed 's/origin\///' | xargs -n 1 git push --delete origin
Juste s'étendant Adam répondre un peu:
Ajoutez ceci à votre git config en exécutant git config -e --global
[alias]
cleanup = "!git branch --merged | grep -v '\\*\\|master\\|develop' | xargs -n 1 git branch -d"
et puis vous pouvez supprimer tous les locaux fusionné les branches faisant un simple git cleanup