Guía para Principiantes de Git

Git es un programa maravilloso. Es una utilidad de control de versiones que te permite gestionar sin problemas el historial de ediciones de un archivo. Aunque esto puede parecer simple y poco impresionante, la fuerza de Git radica en el hecho de que puedes extender este historial a grupos enteros de archivos y directorios.
Esto significa que es posible usar Git para rastrear cada cambio en cada archivo para cada directorio. Esto es muy útil si estás realizando un proyecto donde deseas tener una instantánea continua de todo lo que estás haciendo.
Tabla de Contenidos
- ¿Qué es Git?
- Instalando Git
- Usando Git para un Proyecto Local
- Usando Git para Proyectos en Línea
- Preguntas Frecuentes
También lee: Cómo Determinar si un Sitio Web es Legítimo y Seguro de Usar
¿Qué es Git?
En su núcleo, Git es un simple programa de seguimiento de historial. En eso, rastrea los cambios a través de diferentes versiones de un archivo. La forma en que funciona es que cada vez que cambias un archivo, Git creará un hash para esa versión específica del archivo.
A partir de ahí, luego compara y analiza estos hashes contra el “árbol Git” del repositorio. Hacerlo de esta manera permite que Git solo almacene la diferencia entre múltiples versiones de archivos.

Por ejemplo, si estás escribiendo un script bajo Git y realizaste un par de cambios en él. Git solo almacenará el hash de los primeros dos cambios y hashará el archivo actual contra los primeros dos. De esa manera, Git puede reconstruir las versiones anteriores sin almacenar múltiples copias del mismo archivo.

Este enfoque también te permite escalar fácilmente tus archivos y directorios a un proyecto más grande. Dado que Git almacena todos los datos históricos como hashes, solo necesita operar en tu máquina local. Como tal, puedes exportar fácilmente tu trabajo a otras personas e importar sus contribuciones sin necesidad de software de gestión externo.
Instalando Git
Git es un paquete muy común en sistemas operativos basados en Linux. Debido a eso, instalarlo es increíblemente fácil. En la mayoría de los casos, ya está preinstalado en tu sistema. Si estás usando Debian o Ubuntu, puedes usar apt para instalar Git:
sudo apt install git
Para Fedora o RHEL, usa dnf:
sudo dnf install git-allMientras tanto, si estás usando Arch Linux, también puedes instalar Git usando pacman:
sudo pacman -S gitUsando Git para un Proyecto Local
Usar Git en tu máquina local es muy simple. Lo primero que necesitas hacer es crear un nuevo repositorio de Git. Su propósito principal es servir como un contenedor para todos los objetos de Git que agregarás para este proyecto.
En la carpeta que deseas rastrear, ejecuta los siguientes comandos:
cd my-project
git init
Una vez hecho esto, Git creará una carpeta “.git” en la raíz de tu directorio de proyecto. Esto servirá tanto como un marcador para el programa Git como una carpeta de almacenamiento para todos los objetos de Git para ese proyecto.
Agregando Archivos Existentes a tu Repositorio
Con un repositorio de Git en funcionamiento, lo siguiente que debes hacer es importar cualquier archivo existente a Git. Esto se debe a que Git no rastrea ningún archivo cuando primero creas un nuevo repositorio.
Para hacer eso, puedes ejecutar el siguiente comando en el directorio raíz de tu carpeta:
git add .Este comando le dirá a Git que incluya todos los archivos y carpetas en el directorio actual. Luego puedes confirmar esto ejecutando el siguiente comando:
git diff --cached
También lee: Cómo Limpiar la Caché de Git
Confirmando tu Primer Repositorio
Con tus archivos ahora en el repositorio, lo siguiente que necesitas hacer es escribir esos cambios en el sistema de archivos de Git. Esto asegura que etiquetará y hashará correctamente todos los nuevos archivos en tu carpeta. Para hacer esto, necesitarás “confirmar” el estado actual del repositorio.
Para hacer eso, puedes ejecutar el siguiente comando:
git commit -aEsto le dirá a Git que escriba todo lo que tiene en su caché en el sistema de archivos virtual.
A partir de ahí, Git te pedirá una descripción sobre esta confirmación específica. Esto te permitirá proporcionar una breve explicación sobre lo que contiene, así como una forma de distinguir fácilmente esta confirmación de otras. En mi caso, dado que esta es mi primera confirmación, solo escribiré “Confirmación Inicial”.

Con eso, ahora puedes verificar si Git reconoce todos los archivos en tu directorio ejecutando el siguiente comando:
git ls-files
Si durante lo anterior, Git lanza un error diciendo que no puede reconocerte, tendrás que decirle quién eres. Hacer eso es tan simple como ingresar:
git config --global user.name "Tu_Usuario"
git config --global user.email "[email protected]"Operaciones Básicas de Archivos en Git
En su mayor parte, los comandos de UNIX funcionarán con Git. Esto significa que puedes usar ls, cp, mv y rm en todos los archivos y carpetas dentro de un repositorio de Git. Sin embargo, hay una serie de comandos específicos que puedes usar para manipular fácilmente los objetos de Git.
Por ejemplo, puedes usar el subcomando ls-tree para ver el contenido de un árbol de Git específico, así como el valor hash actual de cada archivo.
git ls-tree master
Otro comando que puedes usar es la versión de Git de mv. Esto te permite mover archivos a cualquier lugar dentro del repositorio y aún conservar su historial.
git mv ./hello.file ./welcome.fileEsto puede ser útil si deseas renombrar un archivo en control de versiones, pero también quieres tener la capacidad de revertir ese cambio a través de Git.
Sabiendo eso, puedes ejecutar el siguiente comando para renombrar un archivo sin perder su historial.

Por último, Git también proporciona un subcomando para eliminar objetos. Similar a mv, puedes usar una versión de Git de rm para eliminar un archivo en tu repositorio actual. Hacerlo de esta manera te permite eliminar limpiamente el objeto actual para ese archivo en particular.
git rm ./old.file
Clonando un Repositorio Remoto
También es posible importar un repositorio remoto a tu máquina local. Esto es útil cuando necesitas copiar un proyecto diferente a través de la red. Git te proporciona la capacidad de clonar un repositorio ya existente.
La forma en que funciona la clonación es que Git copia completamente el árbol de un proyecto remoto. Esto le permite recrear todo el historial de un repositorio tal como existe en ese momento específico en el tiempo.
git clone https://github.com/git/git.git
También es posible clonar repositorios que solo existen en una red local. Esto es útil si estás colaborando con otras personas a través de LAN. Además, el proceso de clonación de un proyecto en una red local es exactamente el mismo:
git clone 192.168.1.100:/home/bob/awesome-projectTambién lee: Cómo Usar Alias de Git para Hacer Git Más Eficiente
Usando Git para Proyectos en Línea
Con eso, otra forma de colaborar con otras personas es a través de hospedaje de terceros. En esto, estás usando un servicio remoto como Github para alojar tu proyecto a través de Internet. Esto puede ser increíblemente útil si necesitas una forma rápida y fácil de distribuir tu trabajo a una gran audiencia.

No solo eso, un servicio como Github también agiliza el proceso de crear y mantener un repositorio. Como tal, es un servicio poderoso si tienes la intención de realizar proyectos colaborativos con otras personas a través de redes remotas.
Creando tu Primer Repositorio en Línea
Sabiendo eso, comenzar un repositorio a través de Github es increíblemente fácil. Una vez que hayas iniciado sesión en tu cuenta, el sitio te redirigirá a tu página de inicio personal.
Esta página mostrará las últimas actualizaciones sobre los proyectos que estás siguiendo actualmente. Eso incluye un breve historial de todas tus contribuciones a otros proyectos.

Desde aquí, necesitas hacer clic en el signo “+” al lado de tu foto de perfil. Esto abrirá un pequeño menú desplegable donde puedes elegir una serie de acciones para tu cuenta. Luego, debes hacer clic en el enlace “Nuevo Repositorio” de ese menú.

Aquí es donde puedes especificar los detalles para el proyecto que deseas hacer en línea. Desde allí, necesitas establecer una serie de opciones para afinar tu proyecto.

Primero, necesitas proporcionar un nombre de repositorio para tu proyecto. Este servirá como un nombre donde otras personas pueden buscar cuando busquen tu repositorio.
A continuación, necesitas establecer la configuración de privacidad para tu proyecto. Puedes elegir entre Público y Privado. Un repositorio público permite que otras personas busquen tu proyecto en línea, mientras que uno privado te da la capacidad de compartirlo solo con algunas personas.
Por último, necesitas hacer clic en el botón “Crear Repositorio” para finalizar tu nuevo proyecto.
También lee: Cómo Eliminar una Rama de Git Local y Remota
Vinculando Github a tu Máquina Local
Con eso, lo siguiente que necesitas hacer es vincular tu máquina local a tu cuenta de Github. Para hacer esto, necesitas hacer dos cosas:
- Primero, necesitas crear una clave SSH para tu máquina. Esta es una clave criptográfica corta que puedes generar localmente en tu computadora.
- Por último, necesitas decirle a Github tu clave SSH actual. Esto permite que tu máquina tenga una identidad fija en Github. A su vez, utiliza esta identidad para verificarte cada vez que actualizas tu repositorio.
Creando tu Clave SSH
Si estás usando Debian o Ubuntu, puedes instalar SSH usando apt:
sudo apt install ssh
A partir de ahí, puedes ejecutar el programa ssh-keygen para crear la clave ssh:
ssh-keygen -t ed25519 -C "[email protected]"
ssh-add /home/$USER/.ssh/id_ed25519Vinculando tu Clave SSH
Regresa a tu Panel de Control de Github, haz clic en tu Foto de Perfil y luego en Configuración.

Esto abrirá la configuración general para tu cuenta de Github. Desde aquí, necesitas hacer clic en el enlace “Claves SSH y GPG” en la sección “Acceso” en la barra lateral izquierda de la página.

Haz clic en el botón “Nueva Clave SSH” al lado del encabezado “Claves SSH”. Esto cargará la página de configuración de la clave donde puedes copiar el contenido de tu nueva clave SSH.

Abre tu archivo de clave (en mi caso, el archivo de clave id_ed25519.pub en el directorio “~/.ssh”) en un editor de texto. Copia el contenido y pégalo en Github.
Subiendo Confirmaciones Locales en Línea
El último paso es que subas el contenido de tu proyecto local en línea.
En tu máquina local, ve a la carpeta de Git y ejecuta el comando:
git remote add origin [email protected]:ramcesred/my-project.git
Desde aquí, necesitas asegurarte de que tu proyecto local esté actualmente en su rama principal. Esto es para que Git copie la versión adecuada de tu proyecto. Con eso, puedes asegurarte ejecutando el siguiente comando:
git branch -M mainPor último, sube el estado actual del proyecto en línea:
git push -u origin main
¡Felicidades! Ahora tienes una configuración básica de trabajo para proyectos de Git. No solo eso, también tienes una idea básica de cómo funciona Git y cómo puedes hacerlo funcionar para ti.
También lee: Cómo Instalar Git y Git Bash en Windows
Preguntas Frecuentes
¿Es posible obtener los cambios que otras personas han hecho en mi proyecto Git en línea?
¡Sí! Es posible copiar los cambios que otras personas han hecho en tu repositorio en línea. Puedes hacer esto tirando de tu origen remoto.
Puedes fácilmente obtener cualquier actualización ejecutando el siguiente comando: git pull origin main
¿Cuáles son algunos de los problemas que debo tener en cuenta al usar Git?
Uno de los mayores problemas de usar Git es que ocupa mucho espacio al almacenar archivos binarios. Eso incluye cualquier archivo que no esté codificado en texto plano, como imágenes, formatos de documentos de oficina y programas compilados.
Esto se debe principalmente a que los algoritmos de compresión y hash que Git utiliza para almacenar objetos favorecen en gran medida los archivos de texto plano. Es posible incluir binarios bajo control de versiones, sin embargo, es una buena práctica evitar usarlos con Git.
¿Es posible no incluir archivos en un árbol de Git?
¡Sí! Puedes excluir fácilmente archivos de una confirmación. Puedes usar un archivo “.gitignore” para decirle a Git que no deseas incluir ciertos archivos.
Este es un archivo de texto oculto que creas en la carpeta raíz de tu repositorio. En este, incluyes las rutas relativas de archivos y directorios que deseas que Git ignore.
Crédito de la imagen: Unsplash