Skip to content

Instantly share code, notes, and snippets.

@airvzxf
Last active February 21, 2025 20:03
Show Gist options
  • Save airvzxf/49874fce0663aed8e5e4ee013193bb62 to your computer and use it in GitHub Desktop.
Save airvzxf/49874fce0663aed8e5e4ee013193bb62 to your computer and use it in GitHub Desktop.
Cheat Sheet de Git en Español

Cheat Sheet de Git en Español

Estados de Git

  1. Working Directory (Directorio de Trabajo)

    • Modificados: Archivos que Git ya conoce (están en el repositorio) pero que han sido cambiados.
    • No rastreados: Archivos nuevos que Git no conoce y no están siendo rastreados.
  2. Staging Area (Área de Preparación)

    • Staged: Archivos que han sido añadidos con git add y están listos para ser confirmados en el próximo commit.
  3. Repository (Repositorio)

    • Committed: Archivos que han sido confirmados con git commit y forman parte del historial del repositorio.

Comando útil para ver los estados git status: Muestra el estado de los archivos en el Working Directory, Staging Area y Repository.

Ejemplo de Flujo entre Estados

  1. Working Directory: Editas un archivo existente (archivo.txt) y creas uno nuevo (nuevo.txt).
  2. Staging Area: Usas git add archivo.txt nuevo.txt para preparar los cambios.
  3. Repository: Confirmas los cambios con git commit -m "Editar archivo.txt y añadir nuevo.txt".
  4. Repositorio Remoto: Subes los cambios con git push.

Configuración Inicial

Comando Descripción
git config --global user.name "Tu Nombre" Establece tu nombre de usuario.
git config --global user.email "[email protected]" Establece tu correo electrónico.
git config --global init.defaultBranch main Cambia el nombre de la rama predeterminada a main.
git config --global color.ui auto Habilita la coloración automática en la línea de comandos para mejorar la legibilidad.
git config --list Muestra la configuración actual de Git.

Iniciar un Repositorio

Comando Descripción
git init Inicializa un nuevo repositorio Git en el directorio actual.
git clone <url> Clona un repositorio remoto en tu máquina local.

Ramas (Branches)

Comando Descripción
git branch Lista todas las ramas locales.
git branch <nombre-rama> Crea una nueva rama.
git branch -d <nombre-rama> Elimina una rama local.
git switch <nombre-rama> Cambia a la rama especificada (reemplaza git checkout <nombre-rama>).
git switch -c <nombre-rama> Crea una nueva rama y cambia a ella (reemplaza git checkout -b <nombre-rama>).
git branch -m <nuevo-nombre> Renombra la rama actual.
git branch -a Lista todas las ramas (locales y remotas).

Trabajar con Cambios

Comando Descripción
git status Muestra el estado actual del repositorio (archivos modificados, en staging, etc.).
git add <archivo> Añade un archivo al área de staging.
git add . Añade todos los archivos modificados al área de staging.
git restore <archivo> Descarta cambios en un archivo (reemplaza git checkout -- <archivo>).
git restore --staged <archivo> Quita un archivo del área de staging (reemplaza git reset HEAD <archivo>).
git commit -m "Mensaje" Guarda los cambios en el repositorio con un mensaje descriptivo.
git commit --amend Modifica el último commit (útil para corregir mensajes o añadir cambios).

Sincronizar con Remoto

Comando Descripción
git fetch Descarga cambios del repositorio remoto, pero no los aplica.
git pull Descarga cambios y los fusiona con la rama actual.
git push Sube cambios locales al repositorio remoto.
git push -u origin <nombre-rama> Sube una rama local al remoto y establece el seguimiento.
git push --delete origin <nombre-rama> Elimina una rama remota.

Fusionar y Rebase

Comando Descripción
git merge <nombre-rama> Fusiona la rama especificada con la rama actual.
git rebase <nombre-rama> Reaplica los commits de la rama actual sobre otra rama.
git rebase --abort Cancela un rebase en progreso.
git rebase --continue Continúa un rebase después de resolver conflictos.

Historial y Logs

Comando Descripción
git log Muestra el historial de commits.
git log --oneline Muestra el historial en una sola línea por commit.
git log --graph Muestra el historial con un gráfico de ramas.
git diff Muestra diferencias entre archivos modificados y el último commit.
git diff <rama1> <rama2> Compara diferencias entre dos ramas.

Etiquetas (Tags)

Comando Descripción
git tag Lista todas las etiquetas.
git tag <nombre-etiqueta> Crea una nueva etiqueta en el commit actual.
git tag -a <nombre-etiqueta> -m "Mensaje" Crea una etiqueta anotada con un mensaje.
git push --tags Sube todas las etiquetas al repositorio remoto.

Deshacer Cambios

Comando Descripción
git reset <commit> Deshace commits, manteniendo los cambios en el directorio de trabajo.
git reset --hard <commit> Deshace commits y descarta todos los cambios.
git revert <commit> Crea un nuevo commit que deshace los cambios de un commit anterior.

Stashing

Comando Descripción
git stash Guarda cambios temporales en un "stash".
git stash list Lista todos los stashes guardados.
git stash apply Aplica el último stash guardado.
git stash drop Elimina el último stash.
git stash pop Aplica y elimina el último stash.

Comandos Útiles

Comando Descripción
git remote -v Muestra los repositorios remotos configurados.
git remote add origin <url> Añade un repositorio remoto.
git clean -n Muestra archivos no rastreados que serán eliminados.
git clean -f Elimina archivos no rastreados.
git reflog Muestra un registro de todas las acciones realizadas en el repositorio.

Fuentes bibliográficas

Deepseek-V3, & Roldán Vega, I. A. (2023). Cheat Sheet de Git en Español https://gist.github.com/airvzxf/49874fce0663aed8e5e4ee013193bb62. Basado en la documentación oficial de Git y las mejores prácticas actualizadas. Recuperado de https://git-scm.com/docs/git/2.48.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment