Git que es y para que sirve

Tutorial de Git

Por otro lado, todo el entusiasmo y el bombo que se le ha dado a Git tiende a enturbiar un poco las cosas. ¿Puedes usar Git sólo para compartir tu código con otros, o puedes usar Git en la privacidad de tu propia casa o negocio? ¿Hay que tener una cuenta en GitHub para usar Git? ¿Por qué utilizar Git? ¿Cuáles son las ventajas de Git? ¿Es Git la única opción?

Si alguna vez has colaborado en algo digital con alguien, entonces sabes cómo va. Todo empieza de forma sencilla: tú tienes tu versión y se la envías a tu compañero. Él hace algunos cambios, de modo que ahora hay dos versiones, y te devuelve las sugerencias. Tú integras sus cambios en tu versión, y ahora vuelve a haber una sola versión.

Y la cosa empeora: mientras tú cambias tu versión, tu compañero hace más cambios en la suya. Ahora tienes tres versiones: la copia fusionada en la que habéis trabajado los dos, la versión que has cambiado tú y la que ha cambiado tu compañero.

Como señala Jason van Gumster en su artículo “Incluso los artistas necesitan el control de versiones”, este síndrome suele darse también en el ámbito individual. Tanto en el arte como en la ciencia, no es infrecuente desarrollar una versión de prueba de algo; una versión de tu proyecto que podría mejorar mucho, o que podría fracasar estrepitosamente. Así que creas nombres de archivo como project_justTesting.kdenlive y project_betterVersion.kdenlive, y luego project_best_FINAL.kdenlive, pero con la inevitable concesión de project_FINAL-alternateVersion.kdenlive, y así sucesivamente.

Git branch -d

Cuando empecé a trabajar con Git tenía algo de experiencia con el Sistema de Versiones Concurrentes (CVS) y Apache Subversion (SVN), así que intenté entenderlo en términos de esos sistemas clásicos de repositorio de código fuente. Esa forma de pensar sólo me permitió comprender de forma limitada las capacidades de Git. Desde entonces he llegado a entender Git mucho mejor, así que este artículo es una especie de texto de “nota a mí mismo” para recordarme cómo funciona Git y explicarlo a los que son nuevos en él. Asumo que ya conoces otros repositorios de código fuente más clásicos como CVS o SVN.

Así que vamos a empezar con un ejemplo básico en un repositorio de código fuente clásico como el de la Figura 1. En un repositorio de código fuente clásico, se maneja como contenido una carpeta con archivos y subcarpetas (CVS y Git no manejan realmente carpetas, sólo archivos en una ubicación de ruta). El repositorio contiene todas las versiones del contenido, mientras que el directorio de trabajo es el lugar donde se modifica el código. El código se extrae del repositorio y se lleva al directorio de trabajo, y los cambios realizados en este directorio de trabajo se convierten en una nueva versión del contenido en el repositorio.

Historial de versiones de Git

Es muy probable que hayas oído hablar de GitHub si te dedicas a la tecnología, aunque no seas desarrollador de profesión. Puede que incluso te hayas topado con uno o dos repositorios de GitHub al aprender sobre desarrollo de software o web.

Sin embargo, GitHub puede parecer desconcertante si nunca lo has utilizado. ¿Es un sitio de almacenamiento en la nube? ¿Una red social para programadores? ¿Un sitio para compartir código? Resulta que la respuesta a todo esto es sí, y más.

Hoy en día, GitHub es uno de los recursos más populares para que los desarrolladores compartan código y trabajen juntos en proyectos. Es gratuito, fácil de usar y se ha convertido en el centro del movimiento hacia el software de código abierto.

GitHub es una plataforma de desarrollo de software en línea que se utiliza para almacenar, seguir y colaborar en proyectos de software. Permite a los desarrolladores subir sus propios archivos de código y colaborar con otros desarrolladores en proyectos de código abierto. GitHub también sirve como red social en la que los desarrolladores pueden trabajar en red, colaborar y presentar su trabajo.

Repositorio Git

Los proyectos de desarrollo no surgen ex nihilo; se construyen línea de código tras línea de código desde el principio. Y a menudo, hay un montón de pruebas, errores y correcciones que van a la creación de algo que realmente funciona de la manera que se supone. Ahí es donde entra el control de versiones.

El control de versiones es como un programa de ahorro para tu proyecto. Al rastrear y registrar los cambios que haces en tu archivo o conjuntos de archivos a lo largo del tiempo, un sistema de control de versiones te da el poder de revisar o incluso restaurar versiones anteriores. El control de versiones toma instantáneas de cada revisión de tu proyecto. A continuación, puedes acceder a estas versiones para compararlas o restaurarlas cuando sea necesario.

Por ejemplo, digamos que estás trabajando en un proyecto de desarrollo web, y en el transcurso de tus revisiones, de repente te das cuenta de que todo el texto se ha desalineado. Y como la primera regla de la codificación es que siempre es tu culpa, puedes apostar a que algún cambio que hiciste en algún momento es la causa. Pero no hay que preocuparse: en lugar de tener que repasar cada línea de código, puedes utilizar tu sistema de control de versiones para recargar las versiones anteriores, hasta que localices el cambio en cuestión y lo corrijas.