Git Cheat Sheet en Español
Índice
- Configuración
- Archivos de Configuración
- Crear
- Cambios locales
- Buscar
- Historial de Commits
- Ramas & Etiquetas
- Actualizar & Publicar
- Fusionar & Rebasar
- Deshacer
- Git Flow
Configuración
Mostrar la cofiguración actual:
1 | $ git config --list |
Mostrar la configuración local:
1 | $ git config --local --list |
Mostrar la configuración global:
1 | $ git config --global --list |
Mostrar la configuración del sistema:
1 | $ git config --system --list |
Establecer un nombre que es identificable de crédito cuando se revise el historial de versiones:
1 | $ git config --global user.name "[nombre apellido]" |
Establecer una dirección de email que será asociada con cada marca histórica:
1 | $ git config --global user.email "[email-válido]" |
Establecer coloreado automático de la línea de comandos de Git para una fácil revisión:
1 | $ git config --global color.ui auto |
Establecer el editor global para commits:
1 | $ git config --global core.editor vi |
Configuración
Mostrar la cofiguración actual:
1 | $ git config --list |
Mostrar la configuración local:
1 | $ git config --local --list |
Mostrar la configuración global:
1 | $ git config --global --list |
Mostrar la configuración del sistema:
1 | $ git config --system --list |
Establecer un nombre que es identificable de crédito cuando se revise el historial de versiones:
1 | $ git config --global user.name "[nombre apellido]" |
Establecer una dirección de email que será asociada con cada marca histórica:
1 | $ git config --global user.email "[email-válido]" |
Establecer coloreado automático de la línea de comandos de Git para una fácil revisión:
1 | $ git config --global color.ui auto |
Establecer el editor global para commits:
1 | $ git config --global core.editor vi |
Archivos de Configuración
Archivo de configuración específico del repositorio [–local]:
1 | <repo>/.git/config |
Archivo de configuración específico del usuario [–global]:
1 | ~/.gitconfig |
Archivo de configuración del sistema [–system]:
1 | /etc/gitconfig |
Crear
Clonar un repositorio existente:
Existen dos maneras:
Vía SSH
1 | $ git clone ssh://usuario@dominio.com/repo.git |
Vía HTTP
1 | $ git clone http://dominio.com/usuario/repo.git |
Crea un nuevo repositorio local:
1 | $ git init |
Cambios Locales
Cambios en el directorio de trabajo:
1 | $ git status |
Cambios en archivos rastreados:
1 | $ git diff |
Agregar todos los cambios actuales al siguiente commit:
1 | $ git add . |
Agregar algunos cambios de <archivo> para el siguiente commit:
1 | $ git add -p <archivo> |
Realizar un commit de todos los cambios locales en los archivos rastreados:
1 | $ git commit -a |
Realizar un commit de los cambios previamente almacenados en el área de pruebas (stage area):
1 | $ git commit |
Realizar un commit con un mensaje:
1 | $ git commit -m 'aquí el mensaje' |
Realizar un commit saltándose el área de pruebas y agregando un mensaje:
1 | $ git commit $ git commit -am 'aquí el mensaje' |
Realizar un commit a alguna fecha anterior:
1 | $ git commit --date="`date --date='n day ago'`" -am "Mensaje del commit" |
Cambiar último commit:
¡No modificar commits ya publicados!
1 | $ git commit -a --amend |
Cambiar fecha del último commit:
1 | $ GIT_COMMITTER_DATE="date" git commit --amend |
Cambiar fecha del autor del último commit:
1 | $ git commit --amend --date="date" |
Mover cambios no confirmados (uncommitted changes) de la rama actual a otra rama:
1 2 3 | $ git stash $ git checkout branch2 $ git stash pop |
Restaurar cambios del área de pruebas (stage area) a la rama actual:
1 | $ git stash apply |
Eliminar la última serie de cambios del área de pruebas (stage area):
1 | $ git stash drop |
Buscar
Un texto en todos los archivos del directorio:
1 | $ git grep "Hola" |
Un texto en cualquier versión:
1 | $ git grep "Hola" v2.5 |
Historial de Commits
Mostrar todos los commits, empezando por los más recientes (se mostrará el hash, información sobre el autor, fecha y título del commit):
1 | $ git log |
Mostrar todos los commits (sólo se mostrará el hash y el mensaje del commit):
1 | $ git log --oneline |
Mostrar todos los commits de un usuario específico:
1 | $ git log --author="usuario" |
Mostrar los cambios a través del tiempo de un archivo específico:
1 | $ git log -p <archivo> |
Mostrar commmits que están presentes sólamente en remote/branch al lado derecho:
1 | $ git log --oneline <origin/master>..<remote/master> --left-right |
Quién cambió, qué y cuándo en <archivo>:
1 | $ git blame <archivo> |
Mostrar reference log:
1 | $ git reflog show |
Borrar reference log:
1 | $ git reflog delete |
Ramas & Etiquetas
Listar todas las ramas locales:
1 | $ git branch |
Listar todas las ramas remotas:
1 | $ git branch -r |
Cambiar rama HEAD:
1 | $ git checkout <rama> |
Crear nueva rama y cambiar a esta:
1 | $ git checkout -b <rama> |
Crear nueva rama basada en la rama HEAD actual:
1 | $ git branch <nueva-rama> |
Crear nueva rama de seguimiento basada en una rama remota:
1 | $ git branch --track <nueva-rama> <rama-remota> |
Eliminar una rama local:
1 | $ git branch -d <rama> |
Forzar eliminación de una rama local:
¡Perderás los cambios sin fusionar!
1 | $ git branch -D <branch> |
Marcar el commit actual con una etiqueta:
1 | $ git tag <tag-name> |
Marcar el commit actual con una etiqueta que incluye un mensaje:
1 | $ git tag -a <etiqueta> |
Actualizar & Publicar
Listar todos los remotos configurados actuales:
1 | $ git remote -v |
Mostrar información sobre un remoto:
1 | $ git remote show <remoto> |
Agregar un nuevo repositorio, nombrado <remoto>:
1 | $ git remote add <remoto> <url> |
Descargar todos los cambios de <remoto>, pero no integrarlos al HEAD:
1 | $ git fetch <remoto> |
Descargar cambios y fusionarlos/integrarlos directamente al HEAD:
1 | $ git remote pull <remote> <url> |
Obtener todos los cambios del HEAD al repositorio local:
1 | $ git pull origin master |
Obtener todos los cambios del HEAD al repositorio local sin fusionar:
1 | $ git pull --rebase <remote> <branch> |
Publicar cambios locales en un remoto:
1 | $ git push remote <remoto> <rama> |
Eliminar una rama en el remoto:
1 | $ git push <remoto> :<rama> (desde Git v1.5.0) ó $ git push <remoto> --delete <rama> (desde Git v1.7.0) |
Publicar tus etiquetas:
1 | $ git push --tags |
Fusionar y Rebasar
Fusionar en tu HEAD actual:
1 | $ git merge <rama> |
Rabasar tu actual HEAD sobre <rama>:
¡No rebasar commits ya publicados!
1 | $ git rebase <rama> |
Aborta un rebase:
1 | $ git rebase --abort |
Continuar un rebase después de resolver conflictos:
1 | $ git rebase --continue |
Usar tu herramienta de fusión configurada para resolver conflictos:
1 | $ git mergetool |
Usar tu editor para manualmente resolver conflictos y (después de resueltos) marcar el archivo como resuelto:
1 2 | $ git add <archivo-resuelto> $ git rm <archivo-resuelto> |
Aplastando commits (squashing):
1 | $ git rebase -i <commit-just-before-first> |
Ahora reemplazando esto,
1 2 3 | pick <commit_id> pick <commit_id2> pick <commit_id3> |
con esto,
1 2 3 | pick <commit_id> squash <commit_id2> squash <commit_id3> |
Deshacer
Descartar todos los cambios locales en tu directorio de trabajo:
1 | $ git reset --hard HEAD |
Sacar todos los archivos del área de pruebas (es decir, deshacer el último git add):
1 | $ git reset HEAD |
Descartar cambios locales de un archivo específico:
1 | $ git checkout HEAD <archivo> |
Revertir un commit (produciendo un nuevo commit con los cambios contrarios):
1 | $ git revert <commit> |
Reestablecer tu puntero HEAD a un commit anterior y descartar todos los cambios desde entonces:
1 | $ git reset --hard <commit> |
Reestablecer tu putero HEAD al estado actual de una rama remota.
1 | $ git reset --hard <remote/branch> es decir, upstream/master, origin/my-feature |
Reestablecer tu puntero HEAD a un commit anterior y preservar todos los cambios en el área de pruebas (stage area):
1 | $ git reset <commit> |
Reestablecer tu puntero HEAD a un commit anterior y preservar los cambios locales sin confirmar (uncommitted changes):
1 | $ git reset --keep <commit> |
Remover los archivos que fueron accidentalmente agregados al commit antes de ser añadidos al .gitignore:
1 2 3 | $ git rm -r --cached . $ git add . $ git commit -m "remove xyz file" |
Fuente: https://github.com/arslanbilal/git-cheat-sheet/blob/master/other-sheets/git-cheat-sheet-es.md
(Visited 107 times, 1 visits today)