¿Cómo puedo revisar conflictos resueltos manualmente en git (github, alguna aplicación, InteliJ)

En cuanto a mí, los conflictos resueltos manualmente son una de las mayores fonts de errores.

Actualmente estamos resolviendo conflictos que se acumulan ruidosamente delante de un monitor, que considero la práctica de la edad de piedra. Además, después de save y cerrar la herramienta visual diff, no podemos regresar a la vista de conflicto más tarde, si queremos revisar dos veces o arreglar algo.

Estoy buscando una manera de revisar rápidamente todos los últimos conflictos resueltos manualmente en git.

Me gustaría ver la twig A, la twig B y la pieza de código resultante para cada conflicto.

Puedo darle manualmente a la herramienta deseada el número de confirmación, o puedo ver conflictos en una list.


Fuera de context:

Mi gran idea es introducir la fusión de revisión si sucedió un conflicto. Todos los desarrolladores responsables de esa parte del código (en ambas twigs) deberían revisar el conflicto, especialmente cuando están trabajando de forma remota. ¿Qué hay de dejar de fusionar solo después de la confirmación de ambos lados?

Siento que estas "coincidencias de gritos" quizás podrían evitarse cambiando el flujo de trabajo. Digamos que un desarrollador está trabajando en una twig temática, y se pone detrás de master .

 A--B--C--D--E--F \ X--Y--Z 

En lugar de que él o el grupo creen un compromiso de fusión, él puede volver a basar sus cambios en su master local

  A--B--C--D--E--F \ X'--Y'--Z' 

Luego, cuando sea el momento adecuado, permitirá una fusión limpia y se comprometerá con el maestro "oficial"

 A--B--C--D--E--F--X'--Y'--Z' 

árbitro

Eso es bastante fácil con git:

 git log --patch -c -1 YOURMERGE 

Eso dará como resultado algo como esto:

 index ea575f9,b943345..239a586 --- a/file-with-conflicts.txt +++ b/file-with-conflicts.txt @@@ -1,1 -1,1 +1,1 @@@ - Version A -Version B ++Merge Resolution 

Desde la página de git help log :

git log --patch -c -1 <commit-id>

-c Con esta opción, la salida diff para una confirmación de fusión muestra las diferencias de cada uno de los padres en el resultado de fusión simultáneamente, en lugar de mostrar la diferencia por pares entre un padre y el resultado de a uno por vez. Además, enumera solo los files que fueron modificados de todos los padres.

-p, -u, –patch Generar parche (ver la sección sobre generación de parches).