Los cambios de vista previa de los stash harán al HEAD actual sin aplicar

Como muestran las respuestas a esta pregunta , puede ver los cambios de un alijo con:

git stash show -p [email protected]{N} 

Sin embargo, eso compara el escondite con su padre original, y no indica lo que le quedaría después de aplicar el alijo (por ejemplo, el alijo puede haber sido ya fusionado o puede haber conflictos).

¿Hay una manera fácil de get una vista previa de esos cambios sin aplicar el alijo y realizar un diff (ya que esto deja su estado de trabajo actual 'sucio')?

Una forma rápida de get una vista previa del resultado de la aplicación de un alijo sería crear una twig de tema:

 git checkout -b teststash 

Después de aplicar el alijo, sería trivial "aceptar" o "denegar" el cambio.

Para "denegar" el cambio, simplemente elimine los cambios y regrese a su twig anterior:

 git checkout . # or re-stash if you still want that patch git checkout - # switch back to previous branch 

Para "aceptar" el cambio, simplemente realice una confirmación, vuelva a la twig anterior y fusione su twig temporal. Será una fusión de avance rápido, por lo que su historial no indicará que tuvo la twig de vista previa (que probablemente no le interese más adelante):

 git add path/to/file.txt git commit -m "re-apply fix foo" git checkout - git merge - 

O bien, si desea "aceptar" el cambio pero no desea comprometerse en ese momento, simplemente vuelva a la twig original y siga trabajando:

 git checkout - 

Entonces, en resumen, no hay un command integrado de "vista previa después de aplicar" Git, pero la ramificación ligera de Git hace que sea una acción bastante fácil.