Xcode y GIT: Conectar tu proyecto a un repositorio remoto GIT


Hay dos cosas imprescindibles en la programación que no son programar: comentar adecuadamente el código y usar un sistema de control de versiones.

Si no sabes que es un sistema de control de versiones, en pocas y toscas palabras: es como lo que hacías cuando empezaste a programar y para no perder los cambios ibas copiando los archivos de código en diferentes carpetas con nombres como "prueba1_del_martes", "prueba10_funciona_en_X" y otros nombres Sui generis. Pues todo eso (y mucho más) pero bien pensado, diseñado y estandarizado.

A todos (o casi todos, Subversion tiene muchos fans y aún queda algún dinosaurio que usa CVS) nos gusta GIT, el cual es un sistema de control de versiones diseñado por nada más y nada menos que Linus Torvalds (¡nada más que añadir!).

Cuando creas un nuevo proyecto en Xcode te da la oportunidad de crear un repositorio GIT local el cual es una buena idea porque así puedes mantener un sistema de versiones de forma local (es decir, en tu propio ordenador). Puedes volver a versiones anteriores, crear branches para testeo o release, etc. Marcas la casilla y creas el proyecto normalmente.



Pero una de las cosas más interesantes del control de versiones, es poder trabajar en remoto. Es decir tener un repositorio en un servidor externo (que puede ser casero o alojado en algún proveedor). Si se te rompe tu ordenador no pierdes el proyecto porque puedes recuperarlo (con un simple git clone) del servidor y además si sois varios podéis tener un punto común (el servidor) donde mandar vuestros cambios (git push) y obtener los cambios de los demás (git pull).

No voy a explicar como crear el repositorio en el servidor porque hay un montón de sitios que hablan de ello y muchas formas de hacerlo. Lo que voy a explicar es como conectar tu repositorio local (en tu ordenador) al repositorio remoto (en el servidor):


  1. Desde Xcode, File --> Source Control --> repositories y se abrirá una nueva pantalla.

  2. Buscáis vuestro proyecto y seleccionáis la carpeta Remotes. Y entonces hacéis clic en "Add Remote".





  3. En el diálogo que aparece, rellenáis el nombre remoto con "origin" y en el otro apartado ponéis la ubicación y el método de acceso. En mi caso suelo configurarlo con un acceso SSH pero la persona que os haya creado el repositorio remoto (si no sois vosotros mismos) sabrá que poner en este campo.



Y ya está configurado, a partir de aquí es usarlo.

Uso rápido (todo dentro de File --> Source Control):



  • Cuando tengáis cambios hacéis un Commit donde escribís una breve explicación de los cambios realizados y luego hacéis un Push para subirlo al servidor (seleccionando origin/master).


  • Cuando otra persona haya hecho cambios hacéis un Pull.

Luego existen un montón de cosas que se pueden hacer como Merge, crear Branches... pero ya debéis consultar una guía de GIT.