Ponente: Daniel Sanchez
--system
: /etc/gitconfiggit config --system color.status auto
--global
: ~/.gitconfig--local
: .git/config → por cada repositoriocore.symlinks
: a true respeta los symlinks, a false (default) los trata como ficherosgit commit –amend
: sobrescribe el último commit, editando mensaje → crea un nuevo commit con los cambiosgit checkout -
: moverte a la rama anterior (de la que venías)git push -u <remoto> <rama>
: define el *upstream* de la rama (al tiempo que está enviando). Al hacer un git pull
no será necesario especificar git branch
: muestra ramas locales-v
: verboso-v –merged
: ramas mergeadas-v –no-merged
: ramas no mergeadas-a
: locales + remotas-avv
: locales + remotas + upstreamsgit branch <rama> -u <origin>/<rama>
: establece el upstreamgit branch <rama>
: crea rama desde la actualgit branch <rama> <rama_madre>
crea rama desde rama_madregit checkout <rama>
: nos movemos a ramagit checkout -b <rama>
: creamos rama a partir de la actual y nos movemos a ellagit checkout -b <rama> <rama_madre>
git push <origin> <rama>
: envía rama al remoto <origin>-u
o --set-upstream
: y establece el upstreamgit pull
: descarga los cambios de la rama actual--all
: de todas las ramas--rebase
: reescribe la historia si esta ha sido reescritura en el remote. Puede evitar problemas de historias no coincidentes ( DPS1) lo usa por defecto)git stash push
: guarda ficheros de *staged area*git stash save [-u | --include-untracked] «<message>»
: le da un nombre a la sesión guardada en el stash-u
: incluye los ficheros untrackedgit stash save [-k | --keep-index] «<message>»
: guarda en el stash los ficheros del *working copy*git stash list
: lista sesiones en el stashgit stash show stash@{indice}
: muestra los ficheros del stashgit stash pop
: aplica los cambios en los ficheros guardados anteriormente y los saca del stashgit stash apply stash@{indice}
: aplica los cambios en los ficheros del stash@{indice} (si hay más de uno)git stash pop stash@{indice}
: idem anterior pero elimina la sesión stashgit checkout stash@{indice} <fichero>
: recupera del stash el fichero indicadogit stash drop
: borra el primer elemento de la pilagit stash drop stash@{indice}
: borra la sesión indicadados tipos:
git tag <tag>
: crea tag ligero en el HEADgit tag <tag> <commit>
: crea tag ligero del commit concretogit tag -a <tag> -m «mensaje»
: crea tag anotado en el HEADgit tag -a <tag> <commit> -m «mensaje»
: idem en el commit indicadogit tag
: muestra lista de tagsgit show <tag>
: información del taggit checkout <tag>
: se usa como referencia para movernos al commit asociadogit push <remote> refs/tags/<tag>
: sube el tag al repositoriogit push --tags
: sube todos los tagsgit pull --tags
: descarga todos los tagsfusión a 3 bandas entre los dos últimos commits de las dos ramas y el ancestro común
2 maneras de mostrar/trabajar:
no-ff
→ no fastforward : nanera de trabajar por defecto de la mayoría de los repositorios, se muestran las ramas creadas con sus propios commitsff
→ fastforward : se integra en una línea, sin mostrar las particularidades de una rama que ha sido mergeada
en ambos casos, al hacer el *merge* se trae todo el historial de esa rama
git merge <rama>
: merge de la rama actual con <rama> en formato fast-forward--no-ff
: en formato no-fastforwardgit merge --squash <rama>
: importa los cambios de la rama y los deja en *staged area*permite importar un commit (de otra rama) a tu rama sin traer el histórico (solo el commit en sí)
git cherry-pick <commit>
: trae el commit indicado a la rama actual-e
: edita el mensaje de commit<commit>..<commit>
: trae el rango de commits sucesivos indicados<commit>^..<commit>
: idem anterior, incluyendo el primer commitrevierte los cambios de un commit haciendo otro commit
git revert <commit>
-e
: permite editar el mensaje de commit (acción por defecto en línea de comando)--no-edit
: lo contrariogit revert <commit>..<commit>
: revierte desde el primero (no incluido) al último-n
: no realiza el commit ¿?<commit>^
git reset <commit>
: elimina los commits posteriores a <commit> y deja las modificaciones en el working copygit reset HEAD~1
: elimina el último commitgit reset <commit>^
: elimina el commit seleccionado y posterioresgit rebase <rama>
-i
: interactivogit rebase -i HEAD~n
: rabase interactivo de los últimos n commitsgit pull --rebase
: al recuperar del remoto, se actualiza la historiagit config --global pull.rebase true
: establecerlo por defectogit reflog
: muestra las acciones realizadas en el repositoriogit merge <id_reflog>
: merge commits perdidosgit checkout -b <rama> <id_reflog>
crea rama con la información del pasado