Sourcetree: descubra si una twig se fusionó

¿Cómo puedo saber si una twig (o confirmación) se fusiona en SourceTree?

Al usar gitk --all , se mostrará para un commit (o branch) foo en todas las demás twigs, donde foo ya está fusionado.

Para aclarar lo que quiero decir con una captura de pantalla: el área rodeada (roja) muestra todas las twigs de las que forma parte la confirmación actual. ¿Esto también se puede mostrar en SourceTree?

Captura de pantalla de gitk

Pero tal vez es más fácil después de todo no usar SourceTree para esa function

Puede usar una acción personalizada definida en SourceTree y enumerar esas twigs fusionadas.
Eso no está tan integrado como gitk, pero al less no tienes que cambiar de herramienta.

Primero defina una acción personalizada, usando $SHA para get la confirmación seleccionada :

Acción personalizada

Debería llamar a un script en su %PATH% llamado git-bm (vea esta respuesta como un ejemplo )

 #!/bin/sh for branch in $(git for-each-ref --format="%(refname:short)" refs/heads/); do if [ "${branch}" != "$1" ]; then t=$(git for-each-ref --format="%(refname:short)" --merged "${branch}" refs/heads/|grep -v "${branch}"|grep "$1") if [ "${t}" != "" ]; then echo "${branch}" else t=$(git branch --contains "$1" | grep "${branch}") if [ "${t}" != "" ]; then echo "${branch}" fi fi fi done 

Eso mostrará una list de todas las twigs desde las que se puede acceder al SHA1 actual (es decir, "todas las twigs en las que se ha fusionado la twig actual")

(Nota: la syntax git for-each-ref --merged se introdujo solo en git 2.7.0 – 4 de enero de 2016. Ver por ejemplo " ¿Es posible filtrar twigs fusionadas en git for-each-ref ? ")

A continuación, inícielo en la confirmación que desea:

invocar acción personalizada

Y obtendrá la list de sucursales en las que se ha fusionado:

lista

Es una solución, pero al less no abandona Source Tree.

El equivalente a ejecutar gitk --all en SourceTree sería elegir Todas las twigs de la list desplegable en la esquina superior izquierda:

Ver todas las sucursales en SourceTree

El gráfico muestra qué twigs se han fusionado donde, al igual que gitk hace gitk .

Sin embargo, averiguar exactamente qué twigs se han fusionado en la actual (es decir, las twigs cuyos consejos son accesibles desde HEAD ) se hace más fácilmente desde la command-line, ya que puede decir simplemente:

 git branch --merged 

Si lo desea, también puede include twigs remotas en la list al agregar la opción --all :

 git branch --all --merged 

Averiguar qué twigs no se han fusionado en el actual es igual de fácil:

 git branch --no-merged