2011-05-28 14 views
6

He estado haciendo proyectos de iphone usando git pero noté que tuve muchos conflictos. Al usar svn esto no estaba sucediendo y las fusiones eran menos frecuentes.Usando git en proyectos de iPhone

Xcode necesita que el usuario agregue un archivo a mano. Por ejemplo, agregar una nueva imagen. Cuando esto sucede, se modifica un xml. Este archivo xml es uno de los que git obtiene conflicto y svn no.

¿Alguien que usa git con proyectos xcode está haciendo algo para solucionarlo?

+2

¿Quizás una explicación de qué tipo de conflictos? Sé que muchos desarrolladores de iPhone usan Git sin problemas como este. – Abizern

+0

@Abizern: bien, voy a editar la pregunta. – Macarse

+0

Es cierto, los cambios realizados por varias partes dentro de xcodeproj con frecuencia desencadenan conflictos de combinación que uno tiene que resolver manualmente. AFAIK, eso es algo con lo que tenemos que vivir, ¿o no? – Till

Respuesta

2

Quizás tenga conflictos con archivos que no deberían controlarse en primer lugar (por ejemplo, códigos generados o binarios). Si este es el caso, debe eliminarlo del repositorio y agregar sus nombres al .gitignore para asegurarse de que no se agreguen en el futuro.

+0

No realmente. Xcode necesita que el usuario agregue un archivo a mano. Por ejemplo, agregar una nueva imagen. Cuando esto sucede, se modifica un xml. Este es el que obtiene conflictos. – Macarse

+2

Sería genial si lo mencionaras en la pregunta. –

+0

Bastante justo. Adicional. – Macarse

2

aunque hay similitudes, la confirmación de git no es idéntica a la confirmación de svn.

git tiene un flujo de trabajo diferente, y puede comprometer, fusionar, buscar, presionar en diferentes etapas. las etapas adicionales son características.

si desea evitar esto: buscar, fusionar, resolver conflictos, confirmar y presionar cada vez que desee hacer lo que conoce como una actualización svn y ciclo de confirmación. este proceso hará cumplir el modelo de revisión incremental de svn - git no utiliza un modelo de revisión incremental (otra característica de git).

no es un problema con git, los sistemas usan diferentes flujos de trabajo, y git tiene características que realmente te gustarán una vez que aprendas a salir de la mentalidad svn.

las confirmaciones de git son locales hasta que se presionan al control remoto.

+0

Sé cómo funciona git y lo uso casi todos los días, pero de alguna manera svn obtiene menos conflictos que git cuando trabaja con iphone. Solo quiero saber por qué o cómo solucionarlo. – Macarse

+0

@Macarse No veo conflictos inexplicables por commit, pero * lo hice * cuando estaba aprendiendo a usar git (viene de svn y cvs). si estás seguro de que entiendes git: ¿quizás tu frecuencia de commit + push ha cambiado, o tu cliente tiene algunos errores? para la mayoría de las personas, es probable que aún no comprendan del todo el flujo de trabajo de git. – justin

+0

Desafortunadamente no es mi caso. Estaba dispuesto a saber si había un algoritmo de fusión diferente, o algo así. – Macarse

Cuestiones relacionadas