Resolver un conflicto fusionado
A continuación, vamos a fusionar las ramas issue2
y issue3
que hemos creado en el último paso en la rama principal.
En primer lugar, cambie a main
y fusione issue2
utilizando una fusión rápida.
$ git checkout main
Switched to branch 'main'
$ git merge issue2
Updating b2b23c4..8f7aa27
Fast-forward
myfile.txt | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
Esta es ahora la historia:
A continuación, intenta fusionar issue3
en main
.
$ git merge issue3
Auto-merging myfile.txt
CONFLICT (content): Merge conflict in myfile.txt
Automatic merge failed; fix conflicts and then commit the result.
En este caso, Git ha identificado un conflicto porque el archivo myfile.txt
tiene un contenido diferente en la misma línea en cada rama y no puede fusionar automáticamente issue3
con main
.
El archivo myfile.txt
tendrá ahora este aspecto:
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
<<<<<<< HEAD
commit: Save the status of an index
=======
pull: Obtain the content of a remote repository
>>>>>>> issue3
Encontrará marcadores añadidos al archivo myfile.txt
por Git con información relativa al conflicto. Debemos solucionar el conflicto manualmente, como se muestra a continuación.
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Save the status of an index
pull: Obtain the content of a remote repository
Una vez resuelto el conflicto, confirme el cambio.
$ git add myfile.txt
$ git commit -m "merge issue3 branch"
# On branch main
nothing to commit (working directory clean)
Y la historia se parecerá a esto:
Puede ver que se ha creado una nueva confirmación de fusión como resultado de la resolución del conflicto. Y la rama principal está ahora apuntando al último merge commit. Se trata de una fusión no rápida.