Muestre hasta qué punto dos twigs locales se han separado

Cuando mi copy de master ha divergido de Origin / Master e invoco el git status , la salida de estado incluye un resumen como el siguiente:

 Your branch and 'origin/master' have diverged, and have 3 and 2 different commits each, respectively 

¿Cómo puedo get este resumen comparando dos twigs locales diferentes?

p.ej. Para dos twigs, producción y experimental:

 'production' and 'experimental' have diverged, and have 3 and 24 different commits each, respectively 

Lo más parecido que he encontrado hasta ahora (que está funcionando lo suficientemente bien, supongo, y podría estar escrito) es:

 $ git rev-list production..experimental | wc -l 24 $ git rev-list experimental..production | wc -l 3 

Como descubriste, git rev-list es el command correcto. Puede simplificar el recuento de las revisiones seleccionadas agregando --count a los arguments de git rev-list . Los selectores de revisión de estilo A..B y B..A son los correctos, ya que significan "el set de todos los commits alcanzables desde la segunda revisión, less el set de todos los commits accesibles desde la primera revisión", que es lo que querer (y lo que el git status usa, para el caso).