Cómo administrar Git de manera fácil con Git Cola

Git es un comando de Linux para ayudarte a administrar versiones de tu trabajo. Se ha exportado a BSD, macOS, Windows y más. Sirve como base para servicios populares de alojamiento de código, incluidos servicios de código abierto como GitLab y NotABug, e incluso para servicios privativos populares.

En resumen, Git se ha tomado el desarrollo de software (y algunas otras industrias).

Todos deberían poder beneficiarse de Git, pero no todos saben cómo o quieren usar una terminal POSIX. Para ayudar a los usuarios que no usan la terminal (por alguna razón), se desarrolló el proyecto Git Cola, y este artículo te enseña cómo usarlo.

Si no estás familiarizado con Git, debes leer esta introducción a Git otros artículos similares para tener una idea de lo que es capaz de hacer. Ademas entenderás por qué a la gente parece gustarle tanto.

Este tutorial no asume que estás familiarizado con ningún concepto de Git, sino que quieres o necesitas usar Git.

Instalar Git Cola

Para instalar Git Cola en Linux, debes abrir el instalador de tu aplicación (Software en GNOME) desde el menú Aplicaciones y buscar git-cola e instálalo.

En macOS, puedes usar Homebrew para instalarlo. Busca git-cola e instálalo.

En Windows, debes usar Chocolatey para instalarlo. Debes buscar git-cola e instálalo.

Iniciar Git Cola

Iniciar Git Cola desde el menú de tu aplicación. Como es una interfaz gráfica para Git, no escribirás comandos.

Cuando inicias Git Cola, no tiene repositorios. Así como un procesador de texto o reproductor de música no es de mucha utilidad sin un archivo cargado, Git Cola no es muy útil sin un proyecto cargado en él.

Si tienes un repositorio Git al que necesitas contribuir, puedes clonarlo haciendo clic en el botón Clonar en la ventana inferior izquierda de Git Cola. De lo contrario, has clic en el botón Nuevo.

Debes crear un nuevo directorio llamado example-project.git en algún lugar de tu disco duro. La carpeta no tiene que terminar en .git, pero es una convención que un repositorio de Git termine en .git. Por lo tanto, es una buena idea acostumbrarse a agregar eso al final de un proyecto. Y ese es un concepto importante en Git: el directorio que creas para albergar un proyecto es en realidad un repositorio de Git.

Es difícil saberlo sin buscarlo, pero hay un directorio oculto dentro de la carpeta de tu proyecto llamado .git. Este contiene importantes archivos de historial y configuración para que los cambios que realices dentro de ese proyecto puedan rastrearse.

La interfaz principal de Git Cola se ve bastante solitaria y vacía en esta etapa.

Depende de ti llenar tu proyecto con archivos, así que, por el momento, dejarás atrás a Git Cola. Usando el administrador de archivos de tu sistema operativo (Archivos en GNOME, Finder en macOS, Explorer en Windows), debes agregar algunos archivos al directorio de tu proyecto en tu disco duro.

Tipos de archivos compatibles con Git

Git está destinado principalmente para su uso con formatos basados ​​en texto. Técnicamente, a Git realmente no le importa qué tipo de archivos agregues a tu proyecto. Su trabajo es rastrear los cambios.

Pero hay un inconveniente: no todos los formatos de archivo son adecuados para el seguimiento de versiones. Por ejemplo, una imagen JPEG es en realidad una matriz compleja de valores de píxeles y posiciones pasadas a través de un algoritmo de compresión.

Si cambias un archivo JPEG de alguna manera, esencialmente estás creando un archivo nuevo. Porque, si bien es posible generar la diferencia (un “diff” o “delta” en la terminología del software) entre una versión y la otra, la cantidad de los datos necesarios para representar probablemente será mayor que las dos imágenes combinadas.

Los formatos de texto son más frecuentes de lo que piensas. Además de los archivos de texto reales, hay muchos formatos de archivo basados ​​en texto sin formato.

Por ejemplo, HTML y CSS son formatos de texto puro. Entonces, todo está basado en JSON o XML, como el formato de gráficos SVG. También el formato PostScript (PS, la base de los archivos PDF), el código fuente (PY, JAVA, etc.) y muchos más. Y solo porque Git está destinado principalmente para texto, eso no significa que no pueda hacer una excepción aquí y allá.

Para proyectos muy diversos que involucran muchos datos binarios (sin texto), existen herramientas como git-annex y Git-portal para beneficiarte de Git. Esto sin sufrir su aversión a los archivos grandes.

Este artículo se centra en archivos de texto porque Git Cola no admite de forma nativa extensiones externas de Git.

Archivos de ensayo (Staging)

Lo primero que sueles hacer con un archivo en Git es ponerlo en Stage. El Staging de un archivo significa que has marcado el archivo para incluirlo en la próxima confirmación (commit) de código.

Es poco más que una etiqueta, y se deshace fácilmente. No cambia ni conserva sus datos. Es solo una forma de realizar un seguimiento de lo que tienes en progreso.

Una vez que tengas un archivo en el directorio de tu proyecto, aparecerá en el panel de Estado de Git Cola. Haz clic derecho en el archivo y selecciona Unstage Selected.

Hacer un commit

Cuando estés listo para enviar un archivo al historial permanente de Git, debes realizar un commit (compromiso). Un commit representa exactamente lo que parece: te comprometes a tener un archivo en tu repositorio de Git, aparentemente para siempre.

Para confirmar todos los archivos organizados, escribe una breve descripción de tu trabajo en el campo de texto Commit. Este es el mensaje de confirmación, que está visible para siempre en el registro Git del repositorio. Es un mensaje útil, a veces para explicar a los colaboradores lo que pretendías al comprometer ciertos archivos y otras veces para recordarte.

Publicando con git push

En este momento, tu proyecto Git existe solo en tu máquina local. Es común usar Git para colaborar con otros, por lo que es muy común que exista un repositorio de Git en un servidor accesible para otros.

Puedes crear un repositorio en un host Git gratuito como GitLab e interactuar con él a través de Git Cola. Una vez que hayas creado un repositorio remoto vacío, puedes agregarlo a Git Cola.

Para agregar un servidor remoto, haz clic en el menú Archivo en Git Cola y selecciona Edit Remotes. En la ventana Edit Remotes, haz clic en el símbolo más (+) en la esquina inferior izquierda.

En el cuadro de diálogo que aparece, ingresa un nombre para el remoto y la URL. El nombre puede ser cualquier cosa, pero es convencional para que tu remoto primario se denomine origen.

La URL la proporciona tu host Git y generalmente comienza con git @ (existen otros protocolos, como https:// y git://, pero tienen limitaciones, por lo que rara vez se usan).

Una vez que tenga un remoto configurado, puedes enviar tus commit al servidor.

Para enviar tus commits al repositorio remoto, dirígete al menú Actions y selecciona push, o simplemente presiona Ctrl + P. Un git push solo envía tus archivos comprometidos al servidor.

Precauciones

Si un archivo nunca se ha montado (staged) o no se ha montado desde que realizó los cambios, esos datos no se enviarán al servidor. A veces eso es algo bueno. Git está diseñado para ser un excelente espacio de trabajo. Puedes tener trabajos en progreso junto con viejos archivos confiables sin preocuparte de que los dos se afecten negativamente. Sin embargo, si olvidas agregar un archivo importante a ensayo o confirmar lo que está en ensayo, entonces no estás enviando los datos que crees que estás enviando.

Actualizando con git pull

Si estás trabajando con otras personas en un proyecto, es muy probable que envíen archivos al repositorio desde su propia computadora. Para mantener tus entornos de trabajo sincronizados, debes realizar regularmente un git pull. Para enviar las últimas confirmaciones desde el servidor, debes desplazarte al menú Actions y selecciona Pull, o simplemente debes pulsar Ctrl + Shift + P.

Conclusiones

Git Cola puede hacer todas las acciones típicas de Git y algunas más. Y Git tiene muchas características excelentes para ayudarte a ser creativo y audaz en tu forma de trabajar. Esto con la seguridad de que la versión conocida de lo que has hecho es segura.

Las ramas de Git, por ejemplo, te permiten tener versiones paralelas de tu proyecto al mismo tiempo. Asimismo, git merge te proporciona herramientas para combinar esas versiones cuando decidas que una podría beneficiar a la otra. Las posibilidades son infinitas con Git, y por eso es tan popular.

Si la falta de familiaridad con las terminales te ha impedido probar Git, ¡no te resistas más! Acomódate para disfrutar de un agradable y fabuloso Git Cola, y observa qué te ofrece Git.