Git: liste toutes les modifications non fusionnées dans git

125

En créant une branche pour divers sujets, et en ne les supprimant pas régulièrement quand je n'en ai plus besoin, j'ai maintenant fini avec environ 50 branches;)

J'ai essayé de supprimer des branches et certaines d'entre elles ont des modifications non fusionnées.

Ce que je veux, c'est la possibilité de voir exactement quels changements y a-t-il dans toute branche de mon repo qui ne se trouve pas dans le maître. Y-a-t-il un moyen de faire ça

Merci d'avance.

Lakshman Prasad
la source

Réponses:

223

Pour répertorier les branches avec des commits non fusionnés dans master:

git branch --no-merged master

Pour lister les commits pertinents:

git cherry -v master <branch>
gawi
la source
6
"git branch --no-merged master" ne montre pas les branches distantes - des indices pour les voir aussi?
Peter Toft
23
Ajoutez l' -aindicateur pour inclure les branches distantes.
gawi
Si cela vous donne une erreur, essayez de remplacer masterpar originen amont.
CodeFarmer
2
notez que les branches fusionnées par squash & merge montreront toujours des différences, même s'il n'y en a pas.
Michael Scott Cuthbert
L'ajout d'un -aparamètre affichera les branches locales et distantes et avec -raffichera uniquement les branches distantes.
pafivi le
26

Je suis tombé sur cette question lorsque j'essayais de me souvenir de la syntaxe de ...

git log <branch> --not master --stat

Cela affichera les commits à <branch> qui n'ont pas été fusionnés avec master. Le --stat inclura les fichiers qui ont été modifiés avec les commits. Vous pouvez également l'utiliser pour comparer deux branches quelconques en remplaçant master par un nom de branche différent.

Mat
la source
-5

Il est assez facile d'avoir un aperçu de vos succursales avec gitk.

tamasd
la source
11
Pas si vous avez> 20 succursales
Peter Toft