Duda sobre fusiones

5 views
Skip to first unread message

luis.mu...@gmail.com

unread,
Jun 12, 2016, 2:24:25 PM6/12/16
to Git Argentina
Hola a todos/as:
Estoy aprendiendo con git y tengo una duda con las fusiones a tres bandas.

Voy a poner un ejemplo sencillo.
En la rama master creo un fichero con este contenido:
1
y confirmo.

Luego lo edito y queda:
1
2
y confirmo.

Ahora creo una rama desde el commit inicial y pongo el fichero así:
1

3
y confirmo.

Vuelvo a master y fusiono la rama anterior. Git me da un conflicto:

1
<<<<<<< HEAD
2
=======

3
>>>>>>> bis


y no entiendo porqué. Yo pensaba encontrarme con esta fusión limpia:
1
2
3

Gracias por la ayuda y saludos

Pablo Mouzo

unread,
Jun 13, 2016, 9:52:51 AM6/13/16
to git-ar...@googlegroups.com
Hola Luis,

El problema es que git ve 2 modificaciones que hiciste al mismo archivo.

El archivo original es:
1

En una rama los cambios son:
1
+++ 2

En la otra rama los cambios son:
1
+++ \n
+++ 3

(+++ significa "agregar")

Git lo único que sabe es que en master quieren agregar después del 1 un 2 y en la rama nueva quieren agregar después del 1 una nueva linea y un 3. No tiene forma de saber cuál es tu intención, cuál de los 2 agregados va primero.

Tal vez vos querías que el archivo final sea:
1

3
2

Es correcto y esperado que git te pida que intervengas para fusionar en ese caso.

Otro caso donde lo hace solo sería este:

10
20
30

En una rama se hace un cambio:
10
15
20
30

Y en otra se hace otro cambio:
10
20
25
30

En ese cambio al fusionar git lo hace solo porque los cambios son:
10
+++ 15
20
...

y

20
+++ 25
30
...

Agregar después del 10 un 15 y agregar después del 20 un 25. No hay conflicto.

Saludos,
Pablo

--
Has recibido este mensaje porque estás suscrito al grupo "Git Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a git-argentin...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

luis.mu...@gmail.com

unread,
Jun 14, 2016, 9:54:27 AM6/14/16
to Git Argentina
Ahora me ha quedado completamente claro. Muchas gracias por el ejemplo.
Saludos
Reply all
Reply to author
Forward
0 new messages