Si tenemos dos ramas de desarrollo de un mismo proyecto en un repositorio git y llegado a un punto queremos juntarlas, podemos hacer lo siguiente:
git checkout foo
git pull . bar
Siendo bar el nombre de la rama que queremos unir con la rama foo.
Ahora es posible que existan conflictos entre ficheros que hayamos modificado en ambas ramas, para corregirlos, usaremos:
git mergetool -t herramienta_diff
Este comando nos informará fichero a fichero los cambios que se han producido y deberemos tomar manualmente las decisiones oportunas. En herramienta_diff tenemos que indicar el programa que vamos a usar para hacer la comparación de ficheros. En Linux podemos usar meld y en MacOS opendiff.
Enlaces relacionados:
Anda mira, no conocía este comando. Lo probaré para próximos merges.