DEV Community

Cover image for Git Cheat Sheet
Cristian Fernando
Cristian Fernando

Posted on • Edited on

Git Cheat Sheet

Comandos útiles que todo desarrollador debe conocer en git.

Índice

  1. Configuración básica
  2. Crear un nuevo repositorio
  3. Ver el estado del repositorio
  4. Añadir archivos del working directory al staging area
  5. Añadir archivos del staging area al repositorio local
  6. Ver un log de los commits
  7. Resumir comandos usando alias
  8. Diferencias entre archivos
  9. Mandar un archivo del staging area al working diretory
  10. Revertir los cambios de un archivo
  11. Corregir el mensaje del último commit
  12. Añadir archivos al staging area y hacer el commit en un solo paso
  13. Regresar del Repositorio Local al Staging Area (conservando el Working Directory)
  14. Regresar del Repositorio Local al Working Directory (perdiendo el Working Directory)
  15. Agregar cambios al último commit hecho
  16. Borrar una rama remota
  17. Viajar a un commit específico
  18. Regresar al primer commit
  19. Crear un tag
  20. Listar todos los tags
  21. Mostrar mas info de un tag en concreto
  22. Mandar tags al remoto
  23. Borrar un tag local
  24. Borrar un tag remoto
  25. Listar los repos remotos
  26. Agregar un repo remoto
  27. Crear un stash
  28. Listar los stash
  29. Eliminar el último stash y recuperar código
  30. Recuperar el código sin eliminar el stash
  31. Eliminar un stash
  32. Eliminar todos los archivos no trakeados del repo
  33. Buscar coincidencias en archivos
  34. Miselaneos de comandos colaborativos
  35. Visualizar ramas
  36. GUI nativa de git
  37. Inicializar un proyecto con git y la rama main por defecto
  38. Muestra los cambios que se hicieron de los 2 últimos commits
  39. Editar el contenido del último commit en el mismo commit sin cambiar el mensaje

1. Configuración básica

Username e email

//username
git config --global user.name "Nombre de usuario"
//email
git config --global user.email "tu_email@gmail.com"
Enter fullscreen mode Exit fullscreen mode

Ambos comandos solo se ejecutan una vez.

Visualizar las configuraciones

git config --global -l
Enter fullscreen mode Exit fullscreen mode

2. Crear un nuevo repositorio

git init
Enter fullscreen mode Exit fullscreen mode

3. Ver el estado del repositorio

git status
// git status resumido:
git status -s o git status --short
Enter fullscreen mode Exit fullscreen mode

4. Añadir archivos del working directory al staging area

//añadir archivos espefificos
git add <Nombre del archivo>
//añadir todos los archivos de la carpeta actual
git add .
git add -A
//añadir todos los archivos que tengan la misma extensión
git add *.png // añade todas las imagenes con extensión .png
//agrega toda una carpeta
git add Nombre-carpeta/
Enter fullscreen mode Exit fullscreen mode

5. Añadir archivos del staging area al repositorio local

git commit -m "Mensaje del commit"
Enter fullscreen mode Exit fullscreen mode

6. Ver un log de los commits

// ver toda la información del log
git log
// ver los TODOS los logs en una sola linea
git log --oneline --decorate --all --graph
Enter fullscreen mode Exit fullscreen mode

7. Resumir comandos usando alias

//para git log:
git config --global alias.lg "log --oneline --decorate --all --graph"
//ahora ejecutamos:
git lg

//para git status:
git config --global alias.s "status -s -b"
//ahora ejecutamos:
git s

//para git branch:
git config --global alias.br "branch"
//ahora ejecutamos:
git br

//para cambiar de ramas:
git config --global alias.sw "switch"
//ahora ejecutamos:
git sw

//para borrar una rama:
git config --global alias.delete-br "branch -d"
//ahora ejecutamos:
git delete-br

//para regresar al working directory desde el staging area:
git config --global alias.unstaged "restore --staged ."
//ahora ejecutamos:
git unstaged

//para hacer un reset --soft
git config --global alias.soft "reset --soft HEAD~1"
//ahora ejecutamos:
git soft

//para hacer un reset --hard
git config --global alias.hard "reset --hard HEAD~1"
//ahora ejecutamos:
git hard
Enter fullscreen mode Exit fullscreen mode

8. Direfencias entre archivos

Si el archivo esta en el working directory

git diff
Enter fullscreen mode Exit fullscreen mode

Si el archivo esta en el staging area

//verifica todos los archivos que esten el el stage
git diff --staged
Enter fullscreen mode Exit fullscreen mode

9. Mandar un archivo del staging area al working diretory

// vieja manera:
git reset HEAD <Nombre-del-archivo>

// nueva forma y recomendable usar:
git restore --staged <Nombre-del-archivo>
Enter fullscreen mode Exit fullscreen mode

10. Revertir los cambios de un archivo

git checkout -- <Nombre-del-archivo>
Enter fullscreen mode Exit fullscreen mode

11. Corregir el mensaje del último commit

git commit --amend -m "Nuevo mensaje del commit"
Enter fullscreen mode Exit fullscreen mode

12. Añadir archivos al staging area y hacer el commit en un solo paso

//En vez de esto:
git add .
git commit -m "Mensaje commit"
// Puedes hacer esto:
git commit -am "Mensaje commit"
Enter fullscreen mode Exit fullscreen mode

OJO!, solo sirve para archivos modificados, no funciona para archivos nuevos.

13. Regresar del Repositorio Local al Staging Area (conservando el Working Directory)

// al último commit
git reset --soft HEAD~1

// a cualquier commit
git reset --soft <Hash-del-commit>
Enter fullscreen mode Exit fullscreen mode

Al regresar a cualquier commit, todos los commits que estaban después del punto de regreso se pierden, pero el código se mantiene intacto.

14. Regresar del Repositorio Local al Working Directory (perdiendo el Working Directory)

// al último commit
git reset --hard HEAD~1

// a cualquier commit
git reset --hard <Hash-del-commit>
Enter fullscreen mode Exit fullscreen mode

Al regresar a cualquier commit, todos los commits que estaban después del punto de regreso se pierden, pero el código se mantiene intacto.

15. Agregar cambios al último commit hecho

git add <Nombre-del-Archivo>
git commit --amend -m "Mensaje del commit"
Enter fullscreen mode Exit fullscreen mode

16. Borrar una rama remota

git push <remote> --delete <branch>
//ejemplo: git push origin --delete test 
Enter fullscreen mode Exit fullscreen mode

17. Viajar a un commit específico

git checkout <hash-commit>
Enter fullscreen mode Exit fullscreen mode

18. Regresar al primer commit

#1:
git checkout master 
#2:
git checkout <hash-ultimo-commit>
Enter fullscreen mode Exit fullscreen mode

19. Crear un tag

git tag -a [version] -m "Mensaje" [hash]
//ej:
git tag -a v0.0.1 -m "landing page funcional" ab256w1
Enter fullscreen mode Exit fullscreen mode

20. Listar todos los tags

git tag
Enter fullscreen mode Exit fullscreen mode

21. Mostrar mas info de un tag en concreto

git show [nombre-tag]
Enter fullscreen mode Exit fullscreen mode

22. Mandar tags al remoto

git push origin [nombre-tag] // manda solo un tag
git push origin --tags // manda todos los tags que hayan
Enter fullscreen mode Exit fullscreen mode

23. Borrar un tag local

git tag -d [nombre-tag]
Enter fullscreen mode Exit fullscreen mode

24. Borrar un tag remoto

git tag push origin :refs/tags/[nombre-tag]
Enter fullscreen mode Exit fullscreen mode

25. Listar los repos remotos

git remote -v
Enter fullscreen mode Exit fullscreen mode

26. Agregar un nuevo repo remoto

git remote add [nombre-del-remoto] [url-del-remoto]
//ej:
git remote add upstream https://github.com/PlatziLabs/jshero-challenges.git
Enter fullscreen mode Exit fullscreen mode

27. Crear un stash

git stash
//o
git stash save "mensaje"
Enter fullscreen mode Exit fullscreen mode

28. Listar los stash

git stash list
Enter fullscreen mode Exit fullscreen mode

29. Eliminar el último stash y recuperar código

git stash pop
Enter fullscreen mode Exit fullscreen mode

30. Recuperar el código sin eliminar el stash

git stash apply
Enter fullscreen mode Exit fullscreen mode

31. Eliminar un stash

git stash drop stash@{#id}
Enter fullscreen mode Exit fullscreen mode

32. Eliminar todos los archivos no trakeados del repo

//muestra todos los archivos que eliminara
git clean --dry-run
//elimina los archivos
git clean -f 

//ojo solo elimina archivos, no carpetas
Enter fullscreen mode Exit fullscreen mode

33. Buscar coincidencias en archivos

// git grep
// En que líneas de codigo existe una palabra "Pedro"
git grep -n Pedro

// Cuantas veces uso la palabra "Sol"
git grep -c Sol
Enter fullscreen mode Exit fullscreen mode

34. Miselaneos de comandos colaborativos

// ver todos los commits de los miembros del repo
git shortlog -sn --all --no-merges

// ver quien hizo que cambios
git blame -c [archivo]

// ver quien hizo que cambios limitando el numero de lineas
git blame -c [archivo] -L35,60 
Enter fullscreen mode Exit fullscreen mode

35. Visualizar ramas

// ver todas las ramas (remotas y locales)
git branch -a

// ver las ramas remotas
git branch -r
Enter fullscreen mode Exit fullscreen mode

36. GUI nativa de git

gitk
Enter fullscreen mode Exit fullscreen mode

37. Inicializar un proyecto con git y la rama main por defecto

//cualquiera de los dos
git init -b main
git init --initial-branch=main
Enter fullscreen mode Exit fullscreen mode

38. Muestra los cambios que se hicieron de los 2 últimos commits

git diff HEAD^ 
Enter fullscreen mode Exit fullscreen mode

39. Editar el contenido del último commit en el mismo commit sin cambiar el mensaje

git commit --amend --no-edit
Enter fullscreen mode Exit fullscreen mode

Quiza esto sea de tu interés:


img

Top comments (0)