Resolver conflicto en una rama git



Venimos de aquí: Crear una rama en git

Estamos posicionados en la rama master. Introducimos hola2 en el fichero.txt.

echo "hola2" >> fichero.txt

Hacemos el add y el commit para guardar los cambios.

git commit -a -m "Añadido hola2 al fichero"

Ahora vamos a cambiar a la rama creada en el anterior ejercicio tuto1.

git checkout tuto1

Ahora añadiremos hola3 al fichero.txt donde solo estará hola, ya que hola2 solo esta guardado en la rama master.

echo "hola3" >> fichero.txt

Guardamos los cambios con un add y un commit.

git commit -a -m "Añadido hola3 al fichero.txt"

Cambiamos a la rama master para hacer el git merge.

git checkout master

git merge tuto1

Nos mostrará este mensaje en la linea de comandos, ya que en la rama master hemos modificado la linea 2 del fichero.txt con hola2 y en la rama tuto1 hemos modificado la linea 2 de fichero.txt con hola3


Si hacemos un cat de fichero.txt nos mostrara esto en pantalla, donde HEAD es la rama donde estamos y lo que hemos añadido y separado por el signo = es la rama tuto1.

cat fichero.txt


Hacemos un nano o un vim y editamos el fichero, en mi caso quiero que hola2 y hola3 se queden guardados entonces lo que voy a hacer es borrar las lineas de HEAD, === y tuto1, si solo queremos guardar los cambios de HEAD borraremos todo menos hola2 y con tuto1 dejariamos hola3.


Para guardar estos cambios hacemos un git add y commit y ya estaría realizado el merge.

git add .

git commit -m "Merge solucionado"