IntelliJ: Visualización de diferencias de todos los archivos modificados entre local y git commit / branch

103

Usar el visor de diferencias de IntelliJ es una forma muy agradable de revisar el código porque puede realizar cambios en su versión local con todas las capacidades del editor de código de IntelliJ (refactorización, finalización, etc.).

Desafortunadamente, no he descubierto cómo hacer lo más importante cuando está haciendo revisiones de código en IntelliJ, a saber: Ver la diferencia de todos los archivos modificados en el árbol de trabajo (verifique la rama desde la que desea fusionarse) y otra rama (la rama en la que planea fusionarse, por ejemplo, "maestra").

¿Alguien sabe como hacer esto?

Jon Tirsen
fuente
Consulte la sección Comparar en una de sus publicaciones de blog .
Vic
Esta pregunta muestra los pasos del menú para mostrar diferencias para todos los archivos frente a otra rama (es decir, maestro): stackoverflow.com/questions/40637055/…
Alan Thompson

Respuestas:

59

Aunque la respuesta de Jon Tirsen es correcta, debes leer el texto completo para entender cómo hacerlo.

Aquí están las imágenes del mismo en mac.

  1. Actualmente estoy trabajando con hello_world y quiero comparar con master. ingrese la descripción de la imagen aquí

  2. A continuación, aparecerá una ventana. Seleccionar Filesy presionarcmd + d

ingrese la descripción de la imagen aquí

  1. Otra ventana que muestra diff. Puede realizar muchos tipos diferentes de diferencias. Utilice cmd + shift + ]y cmd + shift + [para alternar entre archivos.

ingrese la descripción de la imagen aquí

Consejo de diferencia: IntelliJ proporciona funciones de diferenciación avanzadas. Puedes comprobar los de la tercera imagen.

error desconocido
fuente
1
¿Cómo puedo hacer esto para todo el proyecto, en lugar de archivo por archivo?
JoeMjr2
@ JoeMjr2 Realmente no estoy seguro de si esa capacidad está disponible hoy. Puede navegar a través de todos los archivos usando cmd + shift + [y cmd + shift + ](reemplace cmd con ctrl si está usando Windows).
unknownerror
Esto se ha cambiado en la actualización de la versión 2020, consulte mi respuesta a continuación para conocer el método actualizado.
BlueYoshi
¿Puedes comparar 2 revisiones también, por ID de compromiso?
Dan Macák
85

Esto ahora se ha implementado. Para comparar dos ramas debes:

  1. Mira una de las ramas con las que quieres comparar.
  2. Seleccione la rama con la que desea comparar en la ventana emergente de rama de Git en la barra de estado en la parte inferior derecha de la ventana de IntelliJ. Se muestra una ventana emergente con algunas opciones.
  3. Seleccione la opción "Comparar".
  4. Esto muestra por defecto todas las confirmaciones. También puede seleccionar la pestaña "Diff" para mostrar los cambios reales.

Todo esto se describe con mucho más detalle en una de sus publicaciones de blog .

Jon Tirsen
fuente
4
¿Es esto también posible con confirmaciones arbitrarias en lugar de ramas? Quiero decir que puedo crear rápidamente una sucursal local para eso, pero eso parece un poco engorroso.
Robin
@ Hikaru755, ¿alguna vez lo resolviste? Estoy tratando de hacer lo mismo
ycomp
@ycomp No, lamentablemente no. Me las arreglé para crear ramas temporales para esto por ahora.
Robin
1
@ Hikaru755 sí, creé una tmprama, supongo que es lo suficientemente buena. Sin embargo, parece una exageración
ycomp
3
@Robin, sí, puedes. Abra el historial del archivo, seleccione las dos confirmaciones y presione Ctrl-D. También funciona entre diferentes ramas.
Victor Sergienko
9

Esto está implementado ahora. Haga clic derecho en el proyecto y seleccione "Git - comparar con rama ..." y elija masterrama. Hecho. Diferenciar todos los archivos.

WesternGun
fuente
Este es un buen enfoque. Si ve la opción en gris, es porque no está haciendo clic derecho en la carpeta del proyecto java / main / src.
jmojico
8

Esto se ha cambiado en la actualización de la versión 2020:

Ahora debe hacer lo siguiente:

  1. Consulte una de las sucursales que desea comparar.

  2. Abra el menú Ramas .

  3. Seleccione la otra rama con la que desea comparar.

  4. Seleccione "Mostrar diferencia con árbol de trabajo" .

ingrese la descripción de la imagen aquí

BlueYoshi
fuente
Gracias, me di cuenta de que había cambiado, pero no pude averiguar a dónde fue.
fmquaglia
1
Esta es la respuesta más actualizada en este momento. Otras respuestas son relevantes para las versiones anteriores de IntelliJ, pero no para la actual.
Pavel
1

Si solo desea comparar su archivo abierto actualmente con otra rama en paralelo, simplemente vaya a VCS -> Git -> Comparar con rama.

urgentex
fuente
6
Eso responde a una pregunta, ¡pero no a esta! :)
Lambart
1

Haga clic derecho en la clase y seleccione la opción Git donde verá la opción comparar con la rama donde puede seleccionar la rama en particular.

sonal balekai
fuente