Conflicto de fusión inesperado con git

Así que tengo este file simple con 3 líneas:

some random words 

Prueba de primera fusión

Creé dos twigs diferentes con el file en el estado original en la parte superior de esta publicación desde el maestro. Creo twig merge1 que cambia la primera línea de some a will . Creo branch merge2 que cambia la línea 3 de words a work . merge1 primero y merge2 second en master y todo funciona bien como esperaba.

Prueba de segunda fusión

Creé dos twigs diferentes con el file en el estado original en la parte superior de esta publicación desde el maestro. Creo branch merge1 que cambia la primera línea de some a doesnt . Creo branch merge2 que cambia la línea 2 de random a work . Primero merge1 y eso funciona, sin embargo, cuando trato de fusionar merge2 obtengo un error de conflicto que no esperaba.

Cuando abro el file, esto es lo que veo:

 <<<<<<< HEAD doesnt random ======= some work >>>>>>> merge2 words 

Lo que no entiendo es por qué la combinación2 muestra la primera línea como some ya que merge2 no cambió esa línea. Irónicamente, esto es algo que SVN maneja bien.

¿Me estoy perdiendo de algo? ¿Por qué puedo tener 2 twigs diferentes que se crean a partir del mismo compromiso modificar las diferentes líneas del file pequeño pero no poder cambiar las líneas consecutivas?

Algunas especulaciones basadas en trabajar con git …

Los cambios se rastrean en function de su entorno. Si miras el diff para la confirmación de merge2, se verá más o less así:

  some -random +work words 

Cuando intenta fusionar eso en el file modificado por merge1, no puede encontrar el punto de anclaje "algo". Como resultado, necesita preguntarte cómo proceder. Mientras que cuando modifica líneas no consecutivas, todavía puede encontrar un lugar en el file para anclar los cambios que necesita aplicar.

Además, tenga en count que git está destinado a rastrear los cambios de código. Tiende a ser más prudente al fusionarse porque es mejor que el usuario descubra la fusión en lugar de fusionarlo automáticamente y romperlo de una manera no obvia.