Hoja de trucos y alias de Git


Esta publicación presenta los comandos de Git más importantes y utilizados para una fácil referencia, además de algunos alias de Git útiles.

Configuración

Asigna tu nombre de usuario globalmente.

git config --global user.name "[first_name last_name]"

Asigna tu dirección de email globalmente.

git config --global user.email "[email_address]"

Asigna un coloreado automático de la línea de comandos para revisar Git fácilmente.

git config --global color.ui auto

Lista todos tus alias de Git.

git config --get-regexp ^alias\.

Organización

Inicializa un directorio existente como un repositorio de Git.

git init

Recupera un repositorio remoto vía URL.

git clone [url]

Escenario e instantánea

Muestra los archivos modificados en el directorio de trabajo.

git status

Añade un archivo tal como está actualmente al escenario para tu siguiente commit.

git add [file]

Añade todos los archivos tal como están actualmente al escenario para tu siguiente commit.

git add .

Elimina un archivo del directorio actual y el repositorio, añadiendo al escenario la eliminación.

git rm [file]

Mueve o renombra un archivo o directorio en tu repositorio.

git mv [file_or_directory]

Pone un archivo fuera del escenario mientras mantiene los cambios en el directorio de trabajo.

git reset [file]

Pone todos los archivos fuera del escenario.

git reset .

Descarta los cambios hechos a un archivo.

git checkout [file_name]

Descarta los cambios hechos a todos los archivos.

git checkout .

Diferencia de qué ha cambiado pero no se ha añadido al escenario.

git diff

Diferencia de qué se ha añadido al escenario pero aún no está en un commit.

git diff --staged

Añade el contenido del escenario como una nueva instantánea.

git commit -m "[meaningful_message]"

Almacenar

Almacena los cambios modificados y añadidos al escenario (pila)

git stash

Lista todos los cambios almacenados en orden de pila.

git stash list

Obtiene los archivos modificados de la cima de la pila.

git stash pop

Descarta los cambios desde la cima de la pila.

git stash drop

Rama y fusión

Lista las ramas. Un asterisco aparecerá junto a la rama actual.

git branch

Crea una nueva rama en el commit actual.

git branch [branch_name]

Cambia a otra rama y revisa el directorio de trabajo.

git checkout [branch_name]

Crea una nueva rama y cambia a ella.

git checkout -b [branch_name]

Fusiona la historia de la rama especificada en la rama actual.

git merge [branch]

Inspeccionar y comparar

Muestra el historico de commits para la rama actual.

git log

Muestra los commits en branch_a que no están en branch_b.

git log branch_b..branch_a

Muestra los commits que cambiaron un fichero, incluso a través de renombrados.

git log --follow [file]

Muestra la diferencia de qué hay en branch_a pero no hay en branch_b.

git diff branch_b..branch_a

Muestra los detalles del commit actual, incluyendo sus cambios.

git show

Muestra los detalles del commit especificado, incluyendo sus cambios.

git show [commit_sha]

Compartir y actualizar

Añadir una URL de Git como un alias. El alias más común es origin.

git remote add [alias] [url]

Traer todas las ramas del repositorio remoto.

git fetch

Traer y fusionar los commits desde la rama remota.

git pull

Fusionar una rama remota con la rama actual para actualizarla.

git merge [alias]/[branch]

Empujar los commits de la rama local a la rama del repositorio remoto.

git push

Empujar los commits de la rama local a una nueva rama en el repositorio remoto.

git push -u [alias] [branch]

Reescribir la historia

Aplicar los commits de la rama actual antes de la rama especificada.

git rebase [branch]

Limpiar el área de staging, reescribir el árbol de trabajo a partir del commit especificado (rollback)

git reset --hard [commit]

Incluir los cambios del escenario en el último commit.

git commit --amend

Hacer cambios en un commit pasado (no recomendado cuando hay más personas trabajando sobre la rama de la que viene el commit)

  1. Hacer un rebase interactivo del commit a editar.
git rebase -i [commit_sha]~
  1. Cambiar el commit que se desea editar de pick a edit.
edit 8a62da1 commit_to_edit
pick 9ee3178 next_commit
pick 9cca210 next_commit
  1. Una vez hechos los cambios, añadirlos al escenario y realizar un ammend.
git add .
git commit --amend
  1. Finalizar el rebase.
git rebase --continue
  1. En caso de que se hubiese empujado al repositorio remoto anteriormente, habrá que forzar el nuevo empuje.
git push --force

Alias ​​de Git útiles

Atajo para listar todos los alias.

git config --global alias.aliases "config --get-regexp '^alias\.'"

Atajo para listar todas las configuraciones globales.

git config --global alias.g "config --global -l"

Atajo de status.

git config --global alias.s "status"

Atajo de commit.

git config --global alias.c "commit -m"

Atajo de diff.

git config --global alias.d "diff"

Atajo de push.

git config --global alias.p "push"

Atajo de log con gráfico.

git config --global alias.l "log --graph --pretty=format:'%C(red)%h%C(reset) -%C(yellow)%d%C(reset) %s %C(green)(%cr) %C(magenta)<%an>%C(reset)' --abbrev-commit --date=relative"
2024-10-04
Escrito por Samuel de Vega.
Etiquetas