SourceTree: ¿cómo hacer un git diff en la dirección opuesta?

¿Cómo puedo hacer un git diff en la dirección opuesta en Atlassian SourceTree? En otras palabras, ¿cómo obtengo SourceTree para hacer git diff ba lugar de git diff ab ?

por ejemplo, si mis confirmaciones están en este order en mi panel de compromisos:

  3333 2222 1111 

y selecciono 3333 y 1111, me mostrará una diferencia de cambios de 1111 a 3333 (es decir, git diff 1111 3333 ).

¿Cómo hago para hacer un git diff en la otra dirección, de modo que sea una diferencia de cambios de 3333 a 1111 (es decir, git diff 3333 1111 )?

Aquí hay una captura de pantalla que muestra dónde seleccioné 2 commits en SourceTree para ver el diff

Esto no es posible en SourceTree.

Hice esta pregunta aquí en answers.atlassian.com y descubrí por parte de un empleado de Atlassian que la capacidad de hacer una diferencia en la dirección opuesta no está disponible, que una diferencia entre commits siempre se muestra en el order "forward history".

Algunas alternativas:

  1. Use un visor de diferencias GUI externo diferente

    -o-

  2. Copie los files de la confirmación más antigua 1111 en el tree de trabajo para la nueva confirmación 3333, y luego vea los diffs en el tree de trabajo, por ejemplo,
 $ cd {repo} $ git diff --name-only 3333..1111 > /tmp/list_of_files_changed $ git checkout 1111 $ mkdir /tmp/files_changed $ cp --parents -pr $(cat /tmp/list_of_files_changed) /tmp/files_changed $ git checkout 3333 $ cp -pr /tmp/files_changed/* . # (now look at the diff in SourceTree for the working copy) 

Funcionará bien escribir

 # will display the additions as + and subtractions as - git diff first second # will display the additions as - (in networking) and subtractions as + (in green) git diff second first 

Esto debería funcionar bien en git estándar.