Una manera rápida de hacer un merge a la rama master de un repositorio git resolviendo los conflictos automáticamente. Con el siguiente método lo único que hay que decidir es si prevalece la rama que se fusiona o la rama master. Para ello usamos el parámetro -X
con el valor ours
si se debe dar prioridad a la rama master o theirs si se debe dar prioridad a la rama que se fusiona en master.
Para mostrar el procedimiento vamos a suponer que la rama se llama demo.
Primero se actualizan todas las ramas por si hay cambios en origin:
usuario@localhost:~$ git fetch origin
Se cambia a la rama demo y se incorporan los cambios de origin en la versión local:
usuario@localhost:~$ git checkout demo usuario@localhost:~$ git merge origin/demo
Se vuelve a la rama master y se incorporan los camibios de origin:
usuario@localhost:~$ git checkout master usuario@localhost:~$ git merge origin/master
Se fusiona por fin la rama demo en master, haciendo que prevalezca demo sobre master en caso de conflictos:
usuario@localhost:~$ git merge -X theirs demo
Todo el procedimiento está muy bien explicado en este hilo de stackoverflow: What is the best (and safest) way to merge a Git branch into master?