Comandos Básicos de Git

Esta guía contiene los comandos más comunes y útiles de Git para el control de versiones.

Configuración Inicial

# Configurar nombre de usuario
git config --global user.name "Tu Nombre"

# Configurar email
git config --global user.email "tu@email.com"

Comandos Esenciales

Iniciar un Repositorio

# Crear un nuevo repositorio
git init

# Clonar un repositorio existente
git clone <url-del-repositorio>

Manejo de Cambios

# Ver estado de archivos
git status

# Agregar archivos al área de preparación
git add <archivo>
git add .  # Agregar todos los archivos

# Crear un commit
git commit -m "Mensaje descriptivo del cambio"

# Ver historial de commits
git log

Ramas (Branches)

# Crear una nueva rama
git branch <nombre-rama>

# Cambiar a una rama
git checkout <nombre-rama>

# Crear y cambiar a una nueva rama
git checkout -b <nombre-rama>

# Ver lista de ramas
git branch

Sincronización con Repositorio Remoto

# Subir cambios al repositorio remoto
git push origin <nombre-rama>

# Obtener cambios del repositorio remoto
git pull origin <nombre-rama>

# Agregar un repositorio remoto
git remote add origin <url-repositorio>

Ejemplos Prácticos

Flujo Básico de Trabajo

# 1. Revisar estado actual
git status

# 2. Agregar cambios
git add index.html

# 3. Crear commit
git commit -m "Actualización del archivo index.html"

# 4. Subir cambios
git push origin main

Trabajar con Ramas

# 1. Crear rama para nueva característica
git checkout -b feature/nueva-funcionalidad

# 2. Realizar cambios y commits
git add .
git commit -m "Agregada nueva funcionalidad"

# 3. Volver a la rama principal
git checkout main

# 4. Fusionar cambios
git merge feature/nueva-funcionalidad

Consejos Útiles

  • Siempre verifica en qué rama estás trabajando antes de hacer cambios
  • Haz commits frecuentes y con mensajes descriptivos
  • Mantén tu repositorio local actualizado con git pull antes de empezar a trabajar
  • Usa .gitignore para excluir archivos que no deben versionarse

Solución de Problemas Comunes

# Deshacer último commit (manteniendo cambios)
git reset --soft HEAD~1

# Descartar cambios en archivos no commiteados
git checkout -- <archivo>

# Ver diferencias entre archivos
git diff