2012-08-16 24 views
5

Cada vez que hago un pull, hay un conflicto de fusión de mi otro miembro del equipo ... Y he intentado eliminar manualmente los ==== y >>>> pero Xcode nunca abrirá el archivo después de esto.¿Cómo manejar los conflictos de combinación en el archivo "pbxproj" de Xcode?

Solo tengo curiosidad, ¿este es un problema que TODOS los iOS de un equipo tratan? ¿Hay algún tipo de consejo o truco para evitar estas tonterías? Está disminuyendo seriamente mi productividad en una gran cantidad.

+1

Considerar la adición de la herramienta de SMC utilizado, en cualquier caso (SVN Git Otro???): Http://stackoverflow.com/questions/2004135/how-to-merge-conflicts-file-project-pbxproj -in-xcode-use-svn? rq = 1, http://stackoverflow.com/questions/7481563/xcode-project-file-pbxproj-how-to-handle-it-in-version-control?rq=1 –

+0

Pruebe la opción 'merge = union': https://twitter.com/zholmquist/status/172824285562408961 Funciona bien para mucha gente la mayor parte del tiempo. Ver también http://stackoverflow.com/questions/2729109/should-i-merge-pbxproj-files-with-git-using-merge-union –

Respuesta

2

Solo necesita una buena herramienta de fusión. Yo uso p4merge: http://www.andymcintosh.com/?p=33 contiene una guía para integrarlo con Git.

+0

Solo uso Hg, pero kdiff3 generalmente me ha tratado bien ... así que podría ser algo más a mirar. Además, [esta publicación (cerrada)] (http://stackoverflow.com/questions/96051/best-file-comparison-tool) contiene sugerencias adicionales de herramientas de fusión (no estoy seguro de que se apliquen a OS X). –

1

estos dos pueden recorrer un largo camino:

  • se basan en el proyecto de Xcode menos, de manera que se podía reconstruir un proyecto añadiendo un directorio de cosas, y luego conseguir que se construye con cambios mínimos. un buen ejemplo de esto: defina su configuración de compilación en xcconfigs.

  • simplifique sus proyectos. las colisiones se reducirán si está desarrollando componentes separados del mismo proyecto más grande.

+0

¿Puede profundizar en su segundo punto? –

+0

@MattH. el punto de partida básico es dividir los proyectos en componentes separados. alguien nuevo en el desarrollo de xcode o sw podría simplemente meter todo en un solo objetivo. sin embargo, el backend de su programa podría estar mejor en un objetivo de biblioteca estática, que se configura como una dependencia de su aplicación principal y pertenece a un objetivo separado en un proyecto xcode separado. entonces podrías poner las pruebas de tu unidad en proyectos separados; solo puedes dividir las piezas en partes más pequeñas. las colisiones son menos probables porque entonces tienes un gráfico estructurado de muchos componentes en lugar de un proyecto monolítico para todo. – justin

Cuestiones relacionadas