Git: enumera todos los cambios no fusionados en git

125

Creando una rama para varios temas, y no eliminándolos regularmente cuando ya no los necesito, ahora he terminado con unas 50 ramas;)

Intenté eliminar ramas y algunas de ellas tienen cambios no fusionados.

Lo que quiero es la capacidad de ver exactamente qué cambios hay en cualquier rama de mi repositorio que no están en el maestro. Hay una manera de hacer eso

Gracias por adelantado.

Lakshman Prasad
fuente

Respuestas:

223

Para enumerar las ramas con confirmaciones no fusionadas en master:

git branch --no-merged master

Para enumerar las confirmaciones relevantes:

git cherry -v master <branch>
gawi
fuente
6
"git branch --no-merged master" no muestra ramas remotas - ¿pistas para verlas también?
Peter Toft
23
Agregue la -abandera para incluir ramas remotas.
Gawi
Si está dando un error u, intente reemplazarlo masterpor origincomo aguas arriba.
CodeFarmer
2
tenga en cuenta que las ramas fusionadas por squash & merge seguirán mostrando diferencias, incluso si no hay ninguna.
Michael Scott Cuthbert
Agregar -aparámetro mostrará las ramas locales y remotas y con -rmostrará solo las ramas remotas.
pafivi
26

Me encontré con esta pregunta cuando intentaba recordar la sintaxis de ...

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

Esto mostrará confirmaciones a <branch> que no se han fusionado con master. --Stat incluirá los archivos que se cambiaron con las confirmaciones. También puede usar esto para comparar dos ramas cualesquiera reemplazando master con un nombre de rama diferente.

Mate
fuente
-5

Es bastante fácil obtener una descripción general de sus sucursales con gitk.

tamasd
fuente
11
No si tienes más de 20 sucursales
Peter Toft