Comandos esenciales de Git y conceptos básicos
13:27, 26.05.2026
Git es un potente y ampliamente utilizado sistema de control de versiones distribuido que permite a los desarrolladores realizar un seguimiento de los cambios, colaborar de forma eficaz y gestionar bases de código de cualquier tamaño. Tanto si acabas de empezar a trabajar con Git como si deseas profundizar tus conocimientos, dominar los comandos y conceptos básicos es extremadamente importante para un control de versiones y una colaboración eficaces.
Comandos básicos de Git
La fuerza de Git reside en su simplicidad y flexibilidad. A continuación se enumeran los comandos básicos que todo desarrollador debe conocer para trabajar eficazmente con cualquier código fuente. Cada comando desempeña un papel específico en tu flujo de trabajo de desarrollo.
Uso de git add para marcar cambios
El comando git add marca los cambios en tu directorio de trabajo, preparándolos para el commit. Esto te permite seleccionar de forma selectiva qué cambios incluir en la próxima instantánea del proyecto.
git add <filename>
git add .
- git add <filename> añade un archivo específico a la etapa.
- git add . añade todos los cambios del directorio actual a la etapa.
Trabajar con ramas mediante git branch
Las ramas en Git permiten desviarse del código base principal para desarrollar funciones, corregir errores o experimentar de forma segura.
git branch
git branch <nombre-de-la-rama>
- git branch muestra una lista de todas las ramas locales.
- git branch <nombre-de-la-rama> crea una nueva rama.
Cambiar de rama con git checkout
El comando git checkout permite cambiar entre ramas o restaurar los archivos del árbol de trabajo.
git checkout <nombre-de-la-rama>
Esto actualiza tu directorio de trabajo de acuerdo con la rama especificada.
Limpieza de archivos no controlados con git clean
Con el tiempo, pueden acumularse archivos no controlados en tu directorio de trabajo git clean ayuda a eliminar estos archivos.
git clean -f
- -f significa «force» (forzar) y es obligatorio para realizar la operación de limpieza.
Clonación de un repositorio con git clone
Para crear una copia local de un repositorio remoto, utiliza:
git clone <repository-url>
Este comando descarga todo el repositorio, incluido su historial.
Guardar cambios con git commit
Una vez preparados los cambios para su confirmación, git commit los registra en el historial del repositorio.
git commit -m "Tu mensaje de confirmación"
Un buen mensaje de confirmación debe ser conciso, pero descriptivo.
Modificar la última confirmación con git commit --amend
Si necesitas modificar la última confirmación —por ejemplo, corregir el mensaje o añadir cambios adicionales—, utiliza:
git commit --amend
Esto sustituye la confirmación anterior por una nueva.
Configuración de parámetros con git config
Configura los parámetros de Git, como tu nombre de usuario y tu dirección de correo electrónico:
git config --global user.name "Tu nombre"
git config --global user.email "you@example.com"
Estas configuraciones son necesarias para identificar tus commits.
Descarga de actualizaciones con git fetch
Para obtener actualizaciones del repositorio remoto sin integrarlas en tu rama local:
git fetch
Esto te permite revisar los cambios antes de integrarlos.
Inicialización del repositorio con git init
Empieza a controlar un nuevo proyecto inicializando un repositorio Git:
git init
Esto crea .git un directorio que habilita el control de versiones en la carpeta de tu proyecto.
Visualización del historial de confirmaciones con git log
Visualiza el historial de confirmaciones de tu repositorio:
git log
Esto muestra una lista de confirmaciones, incluyendo sus hash, autores, fechas y mensajes.
Combinar cambios con git merge
Para integrar cambios de otra rama en tu rama actual:
git merge <nombre-de-la-rama>
Esto fusiona la rama especificada con tu rama actual.
Actualizar la rama local con git pull
Descarga e integra las actualizaciones del repositorio remoto:
git pull
Esto es una combinación de git fetch seguido de git merge.
Subir cambios con git push
Para compartir tus commits locales con el repositorio remoto:
git push
Esto sube tus cambios a la rama remota especificada.
Reaplicación de commits con git rebase
Rebase aplica los commits de una rama a otra, creando un historial lineal:
git rebase <base-branch>
Esto puede simplificar el historial de tu proyecto, pero requiere precaución para evitar conflictos.
Rebase interactivo con git rebase -i
Para tener un mayor control sobre tus commits, utiliza el rebase interactivo:
git rebase -i <base-branch>
Esto te permite editar, reordenar, fusionar o eliminar commits.
Revisión de la actividad de Git con git reflog
git reflog registra las actualizaciones de los extremos de las ramas y otras referencias:
git reflog
Esto es útil para recuperar commits perdidos o comprender el movimiento de las ramas.
H3 – Gestión de repositorios remotos con git remote
Visualización y gestión de repositorios remotos:
git remote -v
git remote add <nombre> <url>
- git remote -v muestra una lista de los repositorios remotos actuales.
- git remote add añade un nuevo repositorio remoto.
Deshacer cambios con git reset
Para deshacer cambios o mover la rama actual a otro commit:
git reset <commit>
Úsalo con precaución, ya que puede alterar el historial de commits.
Deshacer commits con git revert
Para crear un nuevo commit que deshaga los cambios del commit anterior:
git revert <commit>
Es una forma segura de deshacer cambios sin sobrescribir el historial.
Comprobación del estado del repositorio con git status
Comprueba el estado de tu directorio de trabajo y del área de preparación:
git status
Esto muestra qué cambios están preparados, no preparados o no se están controlando.
Explicación de la terminología de Git
Además de los comandos, comprender la estructura básica y los flujos de trabajo de Git es clave para utilizarlo de forma eficaz.
En esta sección se tratan los términos y conceptos fundamentales. Aquí se explica cómo funciona Git y cómo lo utilizan los desarrolladores en proyectos reales.
¿Qué es una rama en Git?
Este flujo de trabajo implica la creación de una nueva rama para cada función o corrección de errores, lo que favorece un desarrollo organizado y gestionado.
Comprender el flujo de trabajo centralizado
En un flujo de trabajo centralizado, todos los participantes realizan commits en un único repositorio central, lo que simplifica el proceso de colaboración.
¿Qué es el flujo de trabajo de ramas por funciones?
Este flujo de trabajo implica la creación de una nueva rama para cada función o corrección de un error, lo que favorece un desarrollo organizado y controlado.
Bifurcación: creación de una copia propia
La bifurcación consiste en crear una copia personal del repositorio de otra persona, lo que permite experimentar libremente sin afectar al proyecto original.
Descripción general del flujo de trabajo de Gitflow
Gitflow es un modelo de ramificación que define roles claros para las ramas y proporciona una estructura sólida para gestionar proyectos de gran envergadura.
¿Qué es HEAD en Git?
HEAD — es un enlace al commit actual en tu directorio de trabajo. Indica a Git dónde te encuentras en el historial del repositorio.
Git-hooks y automatización
Los Git-hooks son scripts que se ejecutan automáticamente durante determinados eventos de Git, como confirmaciones o fusiones, lo que permite automatizar tareas como el formateo del código o las pruebas.
Explicación de la rama principal
La rama principal es la rama predeterminada del repositorio, que representa el estado de tu código base, listo para su lanzamiento.
¿Qué es una solicitud de fusión?
Una solicitud de fusión es un método para enviar contribuciones al proyecto. Permite a los mantenedores revisar y debatir los cambios antes de fusionarlos.
Comprender un repositorio Git
Un repositorio Git es un directorio en el que se almacenan los archivos de tu proyecto y todo el historial de cambios realizados en ellos.
Etiquetas y versiones en Git
Las etiquetas son referencias a momentos concretos en el historial de Git, que se utilizan a menudo para marcar las versiones de los lanzamientos.
git tag <tag-name>
¿Qué es el control de versiones?
El control de versiones es un sistema que registra los cambios en los archivos a lo largo del tiempo, lo que permite recuperar versiones concretas más adelante.
Descripción general del árbol de trabajo
El árbol de trabajo es el directorio en el que has descargado los archivos de tu proyecto. Es aquí donde realizas los cambios antes de guardarlos en la pila y confirmarlos.
Dominar estos comandos de Git te da control sobre tu código. Esto simplifica el trabajo en equipo. Permite mantener el historial de tu proyecto claro y organizado.