Github: Git cheat sheet

CONFIGURACIÓN INICIAL (SETUP)

Configurando la información del usuario que se usará en todos los repositorios locales:

1. Establecer el nombre de usuario:

git config --global user.name "[nombre apellido]"

➤ Define un nombre que será visible en el historial de versiones y servirá para dar crédito.

2. Establecer el correo electrónico:

git config --global user.email "[correo-válido]"

➤ Asocia un correo a cada confirmación (commit) en el historial del proyecto.

3. Activar colores en la línea de comandos:

git config --global color.ui auto

➤ Habilita el uso de colores automáticos en Git para facilitar la lectura en la terminal.

SETUP & INIT

Configuración de información del usuario, inicialización y clonación de repositorios.

git init

Inicializa un directorio existente como un repositorio de Git.

git clone [url]

Recupera un repositorio completo desde una ubicación remota usando una URL.

STAGE & SNAPSHOT

Trabajando con instantáneas y el área de preparación (staging) de Git.

git status

Muestra los archivos modificados en el directorio de trabajo, listos o no para el próximo commit.

git add [archivo]

Agrega un archivo (en su estado actual) al próximo commit (lo coloca en staging).

git reset [archivo]

Quita un archivo del área de staging, pero conserva los cambios en el directorio de trabajo.

git diff

Muestra las diferencias entre los archivos modificados y su última versión registrada (sin agregar al staging).

git diff --staged

Muestra las diferencias entre los archivos en staging y la última confirmación.

git commit -m "[mensaje descriptivo]"

Confirma el contenido en staging como una nueva instantánea (commit) en el historial.

BRANCH & MERGE

Aislar trabajo en ramas, cambiar de contexto e integrar cambios.

git branch

Lista tus ramas. Un * aparece junto a la rama actualmente activa.

git branch [nombre-rama]

Crea una nueva rama en el commit actual.

git checkout [nombre-rama]

Cambia a otra rama y la carga en tu directorio de trabajo.

git merge [rama]

Fusiona el historial de la rama especificada con la rama actual.

git log

Muestra todos los commits en el historial de la rama actual.

INSPECT & COMPARE

Examinar registros, diferencias e información de objetos.

git log

Muestra el historial de commits de la rama actualmente activa.

git log branchB..branchA

Muestra los commits que están en branchA pero no en branchB.

git log --follow [archivo]

Muestra los commits que modificaron un archivo, incluso si fue renombrado.

git diff branchB...branchA

Muestra las diferencias entre branchA y branchB (lo que está en branchA y no en branchB).

git show [SHA]

Muestra cualquier objeto de Git (como un commit, tag o archivo) en formato legible.

TRACKING PATH CHANGES

Versionar eliminaciones de archivos y cambios de ruta.

git rm [archivo]

Elimina el archivo del proyecto y prepara la eliminación para el próximo commit.

git mv [ruta-actual] [nueva-ruta]

Cambia la ruta de un archivo existente y prepara el movimiento para el commit.

git log --stat -M

Muestra todos los registros de commits con indicación de archivos que cambiaron de ruta.

Aquí tienes la sección IGNORING PATTERNS traducida y organizada:

IGNORING PATTERNS

Evitar agregar o confirmar archivos accidentalmente.

logs/
*.notes
pattern*/

➤ Guarda estos patrones en un archivo llamado .gitignore (o el que hayas definido en la configuración global).

git config --global core.excludesfile [archivo]

Define un archivo con patrones de ignorados que se aplicará globalmente en todos los repositorios locales del sistema.

SHARE & UPDATE

Obtener actualizaciones de otro repositorio y actualizar repos locales.

git remote add [alias] [url]

Agrega una URL de Git como un alias (nombre corto para un repositorio remoto).

git fetch [alias]

Descarga todas las ramas desde ese repositorio remoto.

git merge [alias]/[rama]

Fusiona una rama remota con tu rama actual para ponerla al día.

git push [alias] [rama]

Envía los commits de una rama local al repositorio remoto.

git pull

Descarga y fusiona los commits de la rama remota con la rama local correspondiente.

REWRITE HISTORY

Reescribir ramas, actualizar commits y limpiar el historial.

git rebase [rama]

Aplica los commits de la rama actual encima de la rama especificada (reordena el historial).

git reset --hard [commit]

Limpia el área de staging y reemplaza el árbol de trabajo con el estado exacto de ese commit (¡destruye cambios no confirmados!).

TEMPORARY COMMITS

Guardar temporalmente archivos modificados y rastreados para cambiar de rama.

git stash

Guarda los cambios modificados (y opcionalmente preparados) en una pila temporal.

git stash list

Muestra la lista de cambios guardados en la pila (ordenados).

git stash pop

Aplica los cambios del stash superior y los elimina de la pila.

git stash drop

Descarta (elimina) los cambios del stash superior sin aplicarlos.

git comandos