A veces tengo que hacer git fusiones en la consola. Hasta ahora, para resolver conflictos, estaba usando FileMerge de Xcode 3 (puede abrirlo en la consola usando el comando 'opendiff'). Si se muestran conflictos, uso 'git mergetool' que invoca automáticamente opendiff para cada uno de los archivos en conflicto.
Sin embargo, Xcode 4 presenta un componente mergetool mucho más agradable para resolver conflictos. Creo que este componente es parte del ejecutable Xcode 4, en lugar de ser independiente. Le permite obtener una vista previa del archivo fusionado y editar directamente el código fusionado caso por caso, lo que hace que la fusión de conflictos complejos sea increíblemente rápida y satisfactoria.
¿Hay alguna manera de usar Xcode 4 mergetool al invocar 'git mergetool' desde la Terminal?
No puedo encontrar un ejecutable para esta herramienta dentro del paquete Xcode 4. Cualquier truco que logre esto sería bienvenido.
Respuestas:
opendiff toma dos argumentos de nombre de archivo y un parámetro --ancestor con un tercer nombre de archivo, para producir un diferencial de tres vías, y un parámetro --merge para decir el archivo de salida que se usará para la resolución de conflictos.
Entonces ve:
Eso debería hacer que git use opendiff como su herramienta de fusión, cuando hay conflictos de fusión.
Dicho esto, MUY prefiero DiffMerge de SourceGear , que es una herramienta gratuita de diferencias y combinación de tres vías que hace mucho mejor, la resolución de conflictos orientada a palabras. Y en la documentación de DiffMerge hay qué decirle a git para que sea la herramienta de fusión y diferenciación predeterminada.
fuente
Puede editar en el editor de texto (muy básico) dentro de FileMerge abriendo el panel del editor, que está cerrado de forma predeterminada. Para abrir el editor en FileMerge, arrastre el punto debajo de la columna de diferencia central hacia arriba para abrir el panel del editor.
fuente
Esto terminó trabajando para mí
fuente