Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Latest commit

 

History

History
199 lines (120 loc) · 5.38 KB

git_cheatsheet.md

File metadata and controls

199 lines (120 loc) · 5.38 KB

Comandos de git

Todos empiezan por git, se debe escribir git <comando>

path puede ser un directorio, un archivo o un glob (* selecciona todo lo de la carpeta actual, . se refiere al directorio actual, .. el directorio anterior, ... )

Se puede combinar mas de una flag, ej:

git commit --amend --no-edit                    # Sobreescribe el commit anterior y no cambia el mensaje

git commit -am "Hecho el ej. 12"                # Hace un commit, añadiendo todos los cambios

remoto es un repo. remoto enlazado a una rama local, se puede enlazar una rama a otra remota usando git remote add <URL>

Comandos

clone <URL>                             # Clona un repo

init                                    # Crea un repositorio en la carpeta actual (en local, no en github)

add <path>                              # Añade un fichero particular

add -A                                  # Añade todo

status                                  # Estado actual del repo

status -s                               # Ídem, formato corto

status --show-stash                     # Info del stash

restore <path>                          # Restaura todos los cambios no confirmados de un fichero

restore --staged <path>                 # Saca del area "stage" un fichero

commit -m <mensaje>                     # Commit indicando mensaje

commit -a                               # Añade los cambios no confirmados (no incluye archivos/carpetas nuevas)

commit --amend                          # Añade los cambios actuales al commit anterior

commit --no-edit                        # No edita el mensaje del commit

push                                    # Sube los cambios al repo. remoto

push <remoto>                           # Ídem

push --set-upstream <remoto> <rama>     # Establece que el repo. remoto 'remoto' le pertenece a la rama 'rama'

fetch                                   # Se fija si hay cambios en el repo. remoto

pull                                    # Descarga los cambios en el repo. remoto

pull <remoto>                           # Ídem

checkout <rama/commit>                  # Cambia hacia un commit/rama particular

checkout -b <nombre_rama>               # Crea una nueva rama y cambia a ella

branch                                  # Muestra las ramas

rebase <rama>                           # Une todos los commits de la rama indicada a la rama actual

rebase <rama1> <rama2>                  # Une todos los commits de rama1 en rama2

log                                     # Registro de commits

log --abbrev-commit                     # Abrevia los hashes de los commits

log --graph                             # Pinta "ramas" de colores, uniendo los commits

show                                    # Mustra los cambios entre los últimos dos commits

show <commit/rama> <commit/rama>        # Comapra commits/ramas

show --oneline                          # Ídem, pero muestra menos información en el título

config                                  # Cambia la configuración a nivel local (el repo. actual)

config --global                         # La cambia para todos los repositorios

config <opción>                         # Muestra el valor de la opción, ej: 'git config user.name' solo va a mostrar el nombre, no lo cambia

config user.name <nombre>               # Indica tu nombre

config user.email <email>               # Indica tu email 

config alias.<nombre> "<alias>"         # Crea un alias para un comando

config init.defaultBranch <nombre_rama> # Establece el nombre de la rama por defecto al crear un repo

remote -v                               # Muestra los repos. enlazados al actual

remote add <nombre> <URL>               # Enlaza el repo a otro, poniéndole un nombre

remote rename <viejo> <nuevo>           # Cambia el nombre de un repo

remote remove <nombre>                  # Remueve el enlace a un repo

remote rm ...                           # Ídem

reset --soft <commit>                   # Borra todos los commits hasta el indicado, dejando todos los archivos comod confirmados en el area "stage"

reset --mixed <commit>                  # Ídem, pero no los confirma (opción por defecto)

reset --hard <commit>                   # Ídem, pero borra todos los archivos

reset HEAD~1                            # Indica que se reseteará el commit actual

reset HEAD~<n>                          # Resetea hasta n commits hacia atrás

stash                                   # Guarda el estado actual del repo (no realiza un commit, no es lo mismo), y revierte el estado, como si no se hubieran hecho cambios

stash push -m "<mensaje>"               # Ídem, indica un mensaje para mas detalle

stash list                              # Lista los stashes guardados (los indica con un índice y el mensaje que introduciste)

stash show <n>                          # Muestra los cambios realizados en un stash

stash apply <n>                         # Añade los cambios de un stash (se pueden añadir a otra rama)

stash drop <n>                          # Borra un stash

cherry-pick                             # Añade los cambios de otro commit al actual