git fetch origin git log --oneline main..origin/main git checkout main git log origin/main git merge origin/main
git checkout <old_name> && git branch -m <new_name> # o git branch -m <old_name> <new_name> git push -u origin <new_name> # y comprobar en remoto que todo ha ido bien git push origin :<old_name> # elimina la rama vieja del remoto!
git ck -b rama_destino git cherry-pick <commit1>..<commit2> # commit1^..commit2 para incluir commit1 en el movimiento git push origin rama_destino # envíamos los cambios git push origin :rama_origen # elimina la rama mal colocada
git pull --rebase origin develop
git tag [-l] git show <tag> git tag -a <TAG> -m "<MENSAJE>" # tag local annotated git push origin <TAG> # subir tag a remoto git -d <tag> # borrar tag local git push --delete origin <TAG> # borrado tag en remoto
git remote update origin --prune git branch -a
/via: https://stackoverflow.com/questions/36358265/when-does-git-refresh-the-list-of-remote-branches
git branch nueva-rama git reset HEAD~ --hard git checkout nueva-rama
# deshaz el útlimo commit, pero deja los cambio disponibles git reset HEAD~ --soft git stash # muevete a la rama correcta git checkout nombre-de-la-rama-correcta git stash pop git add . # or add individual files git commit -m "your message here"; # ahora tus cambios estan en la rama correcta
git checkout nombre-de-la-rama-correcta # coge el último commit de master git cherry-pick master # borralo de master git checkout master git reset HEAD~ --hard
git add . git commit --amend --no-edit
git commit --amend
git reflog # cada entrada tiene un HEAD@{index}
git reset HEAD@{index}
git rebase -i HEAD^ # y marcar con reword
git rebase -i <commit>^ # con ^ se incluye el que indiquemos git rebase -i HEAD~n # los últimos n # marcar con SQUASH aquellos que queramos fusionar, dejando el mayor ancestro como destinatario de todos ellos # git push origin <rama> -f # fuerza la subida de los cambios
git rebase -i HEAD^ # y marcar con drop
git reset HEAD~1
git checkout <COMMIT|HEAD|HEAD^> <path_file>
# busca el hash del commit anterior de cuando se cambio el archivo git log # usa las flechas para moverte para arriba y abajo en la historia # una vez que encontraste el commit, guarda su hash git checkout [hash guardado] -- path/to/file # la version anterior del archivo estará en tu index git commit -m "Waw, no tienes que hacer copiar-pegar para deshacer"
git log --oneline --max-count=10 git diff-tree --no-commit-id --name-only -r <COMMIT_ID> git show --pretty="" --name-only <COMMIT_ID>
git log --follow -p -- <FILE> git log --stat <FILE>
git whatchanged [<FILE>]
git diff --staged
git diff --name-only SHA1 SHA2
git archive --output=file.zip HEAD $(git diff --name-only SHA1 SHA2)
git log -- <fichero>
git checkout <COMMIT_ID> -- <fichero>
git log -- <fichero>
git log --follow -p -- <FILE>
git log --name-status -- "*<FILE>*"
–
indica a git que lo que viene a continuación son rutas de ficheros y no ramasgit log -S"Hello, World!"