En este tema, aprenderás cómo preparar (staging) y confirmar (committing) cambios en Git. Estas son operaciones fundamentales que te permitirán gestionar y registrar las modificaciones en tu proyecto de manera eficiente.
Conceptos Clave
- Área de Preparación (Staging Area): Es un espacio intermedio donde se colocan los cambios antes de confirmarlos. Permite seleccionar qué cambios se incluirán en la próxima confirmación.
- Confirmación (Commit): Es el proceso de guardar los cambios preparados en el historial del repositorio. Cada confirmación tiene un mensaje descriptivo y un identificador único.
Flujo de Trabajo Básico
- Modificar Archivos: Realiza cambios en los archivos de tu proyecto.
- Preparar Cambios: Añade los cambios al área de preparación.
- Confirmar Cambios: Guarda los cambios preparados en el historial del repositorio.
Comandos Básicos
git status
Este comando muestra el estado actual del repositorio, incluyendo los archivos modificados, los cambios preparados y los archivos no rastreados.
git add
Este comando añade cambios al área de preparación. Puedes añadir archivos individuales, múltiples archivos o todos los cambios a la vez.
- Añadir un archivo específico:
- Añadir todos los cambios:
git commit
Este comando guarda los cambios preparados en el historial del repositorio. Debes proporcionar un mensaje descriptivo para la confirmación.
Ejemplo Práctico
Supongamos que tienes un archivo llamado index.html
y has realizado algunos cambios en él. Aquí está el flujo de trabajo para preparar y confirmar esos cambios.
- Verificar el estado del repositorio:
Salida esperada:
On branch main Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: index.html no changes added to commit (use "git add" and/or "git commit -a")
- Añadir los cambios al área de preparación:
- Verificar nuevamente el estado del repositorio:
Salida esperada:
On branch main Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: index.html
- Confirmar los cambios:
Salida esperada:
[main 1a2b3c4] Actualiza el contenido de index.html 1 file changed, 10 insertions(+), 2 deletions(-)
Ejercicio Práctico
Ejercicio 1: Preparar y Confirmar Cambios
- Crea un nuevo archivo llamado
hello.txt
y añade el texto "Hello, Git!". - Verifica el estado del repositorio.
- Añade el archivo
hello.txt
al área de preparación. - Verifica nuevamente el estado del repositorio.
- Confirma los cambios con el mensaje "Añade archivo hello.txt".
Solución
- Crear el archivo:
- Verificar el estado del repositorio:
- Añadir el archivo al área de preparación:
- Verificar nuevamente el estado del repositorio:
- Confirmar los cambios:
Errores Comunes y Consejos
- Olvidar añadir cambios al área de preparación: Si intentas confirmar sin añadir cambios, Git no realizará ninguna acción. Asegúrate de usar
git add
antes degit commit
. - Mensajes de confirmación poco descriptivos: Es importante escribir mensajes claros y descriptivos para facilitar el seguimiento del historial de cambios.
Conclusión
En esta sección, has aprendido cómo preparar y confirmar cambios en Git. Estos son pasos esenciales para gestionar el historial de tu proyecto de manera efectiva. En el próximo tema, exploraremos cómo visualizar el historial de confirmaciones para revisar los cambios realizados en el repositorio.
Dominando Git: De Principiante a Avanzado
Módulo 1: Introducción a Git
Módulo 2: Operaciones Básicas de Git
- Creando un Repositorio
- Clonando un Repositorio
- Flujo de Trabajo Básico de Git
- Preparando y Confirmando Cambios
- Visualizando el Historial de Confirmaciones
Módulo 3: Ramas y Fusión
- Entendiendo las Ramas
- Creando y Cambiando Ramas
- Fusionando Ramas
- Resolviendo Conflictos de Fusión
- Gestión de Ramas
Módulo 4: Trabajando con Repositorios Remotos
- Entendiendo los Repositorios Remotos
- Añadiendo un Repositorio Remoto
- Obteniendo y Extrayendo Cambios
- Empujando Cambios
- Rastreando Ramas
Módulo 5: Operaciones Avanzadas de Git
- Rebasing
- Cherry-Picking de Confirmaciones
- Guardando Cambios
- Etiquetando Confirmaciones
- Revirtiendo Confirmaciones
Módulo 6: Herramientas y Técnicas de Git
Módulo 7: Estrategias de Colaboración y Flujo de Trabajo
- Forking y Pull Requests
- Revisiones de Código con Git
- Flujo de Trabajo Git Flow
- GitHub Flow
- Integración Continua con Git
Módulo 8: Mejores Prácticas y Consejos de Git
- Escribiendo Buenos Mensajes de Confirmación
- Manteniendo un Historial Limpio
- Ignorando Archivos con .gitignore
- Mejores Prácticas de Seguridad
- Consejos de Rendimiento
Módulo 9: Solución de Problemas y Depuración
- Problemas Comunes de Git
- Deshaciendo Cambios
- Recuperando Confirmaciones Perdidas
- Tratando con Repositorios Corruptos
- Técnicas Avanzadas de Depuración