¿Qué sistema SCM usar con Xcode 4 para un desarrollador solitario?

Soy un desarrollador de iOS que busca administrar mejor los proyectos que estoy creando. Nunca he tocado SCM antes, así que no estoy seguro de qué sistema usar.

Me gustaría hacer un seguimiento de los cambios en las diferentes aplicaciones que estoy haciendo para mi jefe, pero también tenerlas en un lugar centralizado, y poder separarme y trabajar en funciones separadas de la aplicación principal y luego fusionar el Cambia de nuevo cuando termino. Todo esto se hará localmente (almacenado en un disco duro externo en mi oficina), y una vez que las versiones estén completas, me gustaría poder exportar una copy sin las características de SCM para enviar a mi jefe.

Acabo de actualizar a Xcode 4 y noté que Git está integrado. Jugué con Subversion y Git, pero parece que Git es lo que se ajusta mejor a mis necesidades. Sin embargo, parece ser totalmente diferente a Subversion. La documentation de Xcode 4 sugiere que Git es mejor para desarrolladores individuales, pero ese no parece ser el caso. Si el repository git está dentro de tu copy de trabajo, ¿cómo diablos haces twigs de él? ¿A dónde le envías tus cambios? ¿Copia todo el directory de trabajo y lo usa como su sucursal?

Solo busco a alguien que me explique en inglés sencillo qué sistema SCM sería el mejor para un desarrollador solitario y cualquier tutorial que la gente conozca para ayudarme a entenderlo.

¡Gracias por cualquier ayuda!

¡Ve por git!

El repository reside realmente en su directory de trabajo. Hay una carpeta .git que contiene todos los datos sobre sus twigs y confirmaciones y lo que sea. Puede crear un repository vacío (solo el contenido de la carpeta .git) si lo desea, pero tener ambos en el mismo lugar es agradable, especialmente si usted es un desarrollador único que no necesita distribución.

La ramificación en git es muy fácil:

# create the branch git branch mybranch # switch to branch git checkout mybranch # show branches git branch 

Git no depende de un server como svn. Puede tener desarrollo distribuido usando controles remotos, pero esto no es necesario.

Si le gusta hacer una copy para su jefe sin los files de git en él, haga una

 git archive branchname --format=zip -o tree.zip 

Sugiero un poco de lectura en git

  • Git en cinco minutos
  • Libro de comunidad de Git
  • La cosa sobre Git

La ramificación en git es muy diferente de SVN. La ramificación ocurre en su lugar, en lugar de en otro directory.

Lea este libro y otros resources para comprender mejor cómo funciona Git

Acerca del server centralizado, Git es un SCM descentralizado. Eso significa que cada clon contiene el repository completo, no solo el directory de trabajo actual.

Eso no significa que no puedas tener un repository central. En el server central, usted crea un repository vacío, y en su máquina local clona de ese repository, empujando y tirando de ese repository, a menudo a través de ssh.