En un tutorial anterior ya hablamos sobre la importancia, y la necesidad, de trabajar con un sistema de control de versiones para evitar perder cambios en nuestros proyectos y también para poder colaborar con otros miembros de nuestro equipo de desarrollo de una forma segura y eficiente.
Seguro que te suena, o conoces a alguien, que en alguna ocasión ha trabajado en un proyecto, ha querido añadir una funcionalidad nueva o crear una nueva versión, y ha copiado la carpeta completa del proyecto, la ha renombrado como «mi nuevo proyecto» y desde ahi ha continuado. Luego has o ha querido añadir algunos nuevos cambios y ha creado la clásica «mi nuevo proyecto 2» , «mi nuevo proyecto final» «mi nuevo proyecto final de verdad» 🙂 Y cuando nos damos cuenta tenemos 3 4 o más carpetas de nuestro proyecto copiadas. El problema es si queremos deshacer una de las funcionalidades que hemos añadido, o por cualquier motivo, volver a una versión anterior. Aquí empiezan los problemas, ya que tenemos cada cambio en una carpeta de las que hemos ido creando en cada versión que hemos creado.
Tal y como comentamos, con un sistema de control de versiones podemos optimizar y llevar un control de nuestras versiones de una forma eficiente y ordenada, y así poder volver hacia atrás en el tiempo a algún momento de nuestro código.
Bitbucket y Github
Antes de continuar, aclarar qué Git no es lo mismo que Github. Git es un sistema de control de versiones o software de control de versiones , mientras que Github es una plataforma para desarrolladores que permite alojar y compartir nuestros proyectos. Utilizando Git, si pero no es lo mismo 🙂
Lo primero que tendremos que hacer es crearnos una cuenta en Github o Bitbucket. Ambas plataformas cuentan con opciones gratuitas y para la mayoría de casos son mas que suficientes.
Sobre qué plataforma es mejor, esto ya es algo que va a gustos y también es algo que dependerá de con quién estemos trabajando. Hay empresas que prefieren trabajar con Github, otras con Bitbucket, otras con Gitlab… asi que lo que os aconsejaría es crearnos una cuenta en ambas.
Vamos entonces a ver lo sencillo que es añadir una cuenta de Bitbucket y Github a nuestro Xcode.
Para ello iremos al menu Xcode > Preferences , y una vez dentro de la ventana de preferencias, iremos a Accounts. Aquí es donde gestionamos todas las cuentas que tenemos configuradas con nuestro IDE, Cuenta de desarrollo, Apple ID, cuentas de Github, Bitbucket etc
Inicialmente no tendremos ninguna cuenta añadida, por lo que para añadir nuestra cuenta de Bitbucket haremos click en el pequeño icono con forma de cruz de la parte inferior izquierda.
Entre las diferentes opciones que nos ofrece Xcode , seleccionaremos Bitbucket y le daremos a continuar
Y ahora solo nos quedará ya añadir nuestros datos de acceso a Bitbucket y darle a Sign In para vincular nuestra cuenta a Xcode
En el caso de que queramos añadir una cuenta de Github es exactamente el mismo proceso pero seleccionando la opción de Github.
También mencionar que Xcode no solo nos permite integrar Bitbucket y Github en nuestros proyectos, también podemos añadir cuentas de otras plataformas, como Gitlab o incluso si tenemos un servidor git propio, y no queremos utilizar ninguna de las plataformas mencionadas, podemos utilizarlo sin ningún tipo de problema.
Conclusión
Hemos visto que en muchas ocasiones, aunque creamos que conocemos nuestro proyecto a la perfección, nos encontramos en situaciones en las que queremos volver atrás en el tiempo a alguna versión de nuestro código o nuestro proyecto, ya sea por volver a una versión anterior por un error que hemos cometido y nuestro código ha dejado de funcionar, o simplemente para testear funcionalidades y comprobar que lo que estamos haciendo lo estamos haciendo de forma correcta, para ello la forma mas optima y profesional de hacerlo es a través de un sistema de control de versiones como Github y Bitbucket.
Gracias a la integración de un sistema Git en nuestro IDE (integrated development environment) podemos realizar estas tareas de una forma sencilla, elegante y profesional, ademas de que nos va a ayudar a poder compartir el proyecto con otros programadores y , de esta forma, poder realizar proyectos en colaboración con otras partes del equipo de desarrollo sin miedo a pisar el código de otros integrantes de nuestro equipo.