Combine conflictos con project.pbxproj en Git – Xcode iOS

Aunque ya he leído comentarios similares aquí, en este foro, no he encontrado un enfoque que pueda ser adecuado para el trabajo en equipo de una manera fluida.

Si sabes a lo que me refiero, ya puedes encontrar complicado trabajar con git y el file project.pbxproj en Xcode, incluso cuando trabajas en un file diferente.

Decir,

  • Un desarrollador: creó la carpeta Foo y agregó foo.swift al proyecto.
  • B developer: creó la carpeta Bar, agregando bar.swift al proyecto.

Diferentes paths … pero ya sabes, ¡conflicto! Y como también project.pbxproj notado, salir de project.pbxproj no es una opción.

Entonces mi pregunta es: ¿cómo manejas esto de una manera profesional, listo para Git y de la manera más fácil?

Muchas gracias a todos.

PD: estoy usando actualmente Bitbucket y SourceTree si importa.

PS2: me gustaría evitar la command-line y la edición manual de files si es posible.

Cree un file .gitattributes y agregue la siguiente línea:

*.pbxproj merge=union

Las fusiones se realizarán automáticamente y sin que tengas que tocar nada.

Alternativamente, puede probar mergepbx , que hace una fusión más inteligente.

  1. Los nuevos files son creados por un solo desarrollador en la twig "main-develop".
  2. Empuje los nuevos files para "desarrollarse principalmente"
  3. Esos files son implementados por otros desarrolladores después de tirar