Réponses:
Juste git branch
sans options.
Depuis la page de manuel:
En l'absence d'arguments, les branches existantes sont répertoriées et la branche actuelle sera mise en surbrillance avec un astérisque.
juste la commande simple
git branch
git branch -a
- Toutes les succursales.
git branch -r
- Branches distantes uniquement.
git branch -l
ou git branch
- succursales locales uniquement.
-l
stands pour --local
, alors qu'il est en fait --list
. Je suggérerais de le supprimer pour éviter cette confusion - techniquement, toutes les commandes de cette réponse pourraient utiliser -l
et elles renverraient toujours les mêmes résultats.
Si l'astérisque de tête est un problème, je le redirige git branch
comme suit
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Cela élimine également la ligne «(pas de branche)» qui apparaît lorsque vous avez la tête détachée.
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'
pour la version 1.9.1 de git.
cut -c 3-
est une option plus facile
L'une des façons les plus simples de le faire est
git for-each-ref --format='%(refname:short)' refs/heads/
Cela fonctionne également parfaitement pour les scripts.
Voici comment répertorier les branches locales qui n'ont pas de branche distante d'origine portant le même nom:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
comm -23 <(git branch | sed 's|* | |' | sort) <(git branch -r | sed 's|origin/||' | sort )
Une autre façon d'obtenir une liste juste une branche locale est:
git branch -a | grep -v 'remotes'
Il existe une excellente réponse à un message sur la suppression de branches locales uniquement. Dans ce document, le boursier crée une commande pour répertorier les branches locales:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
La réponse a une grande explication sur la façon dont cette commande a été dérivée, donc je vous suggère d'aller lire ce post.
Pour compléter la réponse de @ gertvdijk - j'ajoute quelques captures d'écran au cas où cela aiderait quelqu'un rapidement.
Sur ma coquille de git bash
git branch
commande sans aucun paramètre montre toutes mes branches locales. La branche actuelle qui est actuellement extraite est affichée en différentes couleurs (vert) avec un préfixe astérisque (*) qui est vraiment intuitif.
Lorsque vous essayez de voir toutes les branches, y compris les branches distantes à l'aide
git branch -a
puis les branches distantes qui ne sont pas encore extraites sont affichées en rouge: