Al fusionar, ¿hay alguna forma de mostrar las diferencias entre el tree de trabajo y la etapa 2/3 del índice respectivamente?

Durante una fusión donde hay conflictos, (si entiendo esto correctamente) para los files labeldos como "ambos modificados" por git status , podemos mostrar diferencias entre el tree de trabajo y la etapa 0/2/3 del índice combinado a través de

 git diff -c 

donde (citando de gitrevisions(7) )

Durante una combinación, la etapa 1 es el ancestro común, la etapa 2 es la versión de la twig objective (generalmente la twig actual) y la etapa 3 es la versión de la twig que se está fusionando.

Pero, ¿cómo mostramos diffs entre el tree de trabajo y cualquier lado de la combinación (no ambos)? En otras palabras, si hay un file A.txt labeldo como "ambos modificados", ¿cómo podemos mostrar las diferencias entre la versión del tree de trabajo y la versión de la etapa 2 (o la versión de la etapa 3) de la misma (pero no ambos? )?

 git diff :2:path path git diff :3:path path 

Esta syntax está documentada en man git-rev-parse :

: <n>: <ruta de acceso> , p . ej . : 0: README ,: README

Dos puntos, seguidos opcionalmente por un número de etapa (0 a 3) y dos puntos, seguido de una ruta, nombra un object blob en el índice en la ruta determinada. Un número de etapa faltante (y los dos puntos que lo siguen) nombra una input de etapa 0. Durante una combinación, la etapa 1 es el ancestro común, la etapa 2 es la versión de la twig objective (generalmente la twig actual) y la etapa 3 es la versión de la twig que se está fusionando.