tag repositorio que log crear git git-diff diff3

repositorio - git push



¿Debería diff3 ser el estilo de conflicto predeterminado en git? (1)

Recientemente habilité diff3 y ahora es mucho más fácil resolver conflictos.

Anteriormente, en algunos casos tenía que revisar el registro para ver por qué las personas hacían esto y aquello para hacer la fusión. Pero con diff3 la información se muestra en un solo lugar.

<<<<<<< HEAD THIS IS USEFUL ||||||| merged common ancestors This is useful ======= This is really useful >>>>>>> c2392943.....

De eso podemos ver fácilmente que el resultado debería ser "ESTO ES REALMENTE ÚTIL"

Me pregunto si hay algún inconveniente para diff3? ¿Por qué no es el comportamiento por defecto de git?


Para otros lectores (y de este artículo ):

git tiene una opción para mostrar los conflictos de combinación en formato diff3 (por defecto solo muestra los dos archivos que se fusionarán). Puedes habilitarlo así:

git config --global merge.conflictstyle diff3

Realmente no hay razón por la que no debas habilitar el estilo diff3, porque con frecuencia necesitas que el antepasado determine cuál es la combinación correcta.

Esto se introdujo bastante pronto (2008) , y supongo que no es el predeterminado, porque un diff predeterminado de Unix no se muestra como un diff de 3 vías.

Como se mencionó en este hilo , si desea ejecutar este comando sin configurar la configuración, de modo que pueda cambiar fácilmente entre diffs normal y diff3s, esto es posible en un caso específico:

Si un conflicto está marcado en el índice (es decir, el estado en el que se encuentra después de una fusión en conflicto, pero antes de marcar una ruta como resuelta), puede hacer lo siguiente:

git checkout --conflict=diff3 <path...>

Tenga en cuenta que, en realidad, se está revisando el contenido del índice en el árbol de trabajo, por lo que cualquier edición que haya realizado en la copia del árbol de trabajo en conflicto se sobrescribirá.