Un poquito de Git
[Git
]
Hola, hoy quiero traeros una recopilación de comandos relacionados con la función que realizan sobre un repositorio Git.
Con esta chuleta podremos recordar fácilmente que comandos deberíamos usar en cada caso en nuestra lucha con los repositorios.
Función | Comando |
---|---|
Inicializar Repositorio | git init |
Añadir elemento | git add [fileName/folder/pattern] |
Añadir todos | git add . or --all |
Add commit y comment | git commit -a -m "[Comment]" |
Añadir ficheros a un commit | git commit --amend -m "[newComment]" |
Deshacer un commit pero guarda cambios | git reset --soft HEAD |
Deshacer un último commit | git reset --hard HEAD^ |
Deshacer los dos últimos commit | git reset --hard HEAD^^ |
Borrar elemento | git rm [fileName/folder/pattern] |
Añadir nuevo remotes | git remote add [name] [urlRemote] |
Borrar remote | git remote rm [name] |
Push Remote | git push -u [remoteName] [branch] |
Ver remotes | git remote -v |
Clonar Repo | git clone [urlRepository] |
Crear branch | git branch [branchName] |
Borrar branch | git branch -d [branchName] // local |
git push origin --delete [branchName] //remoteSituarse | |
En branch | git checkout [branchName] |
Crear y situarse | git branch -b [branchName] |
Mergear branch | git checkout [branchName] |
// usually master git merge or git merge [fileName] | |
Borrar branch | git branch -d [branchName] |
Ver log de commits | git logActualizar |
Repositorio Local | git fetch |
git merge origin/master | |
git push | |
Limpiar en Local remote borrados | git remote gitprune origin |
Ver remotes locales | git remote show origin |
Push de rama local a rama remota | git push [remoteName] [localBranch remoteBranch] |
Ver Tag | git tag list |
Borrar Rama Remota | git push origin [remoteBranchName] |
Obtener Tag | git checkout [tagName] |
Añadir Tag | git tag -a [tagName] -m "[comment]" |
Push Tag | git push --tags |
Incluir commits en rama | git fetch git rebase |
*Si hay conflictos resolvemos y git rebase --continue | |
Mejoras git log | git config --global color.ui true |
Ver log en una linea | git log --pretty=onelineFormateo |
git log --pretty=format "%h %ad- %s " | |
%ad author date | |
%an author name | |
%h SHA hash | |
%s subject | |
%d ref names | |
Ver detalle modificaciones | git log --oneline -p |
Ver inserciones Commit | git log --online --stat |
Ver grafico ramas | git log --oneline --graph |
Ver rango de log | git log --until=1.minute.ago |
git log --since=1.day.ago | |
git log --since=2017-01-01 --until=2017-08-31 | |
Ver diferencias ultimo commit | git diff |
Ver diferencias sin commit | git diff HEAD^ / HEAD^^/ HEAD~5 |
Ver diferencias con un commit | git diff [hashCommit] |
Ver diferencias entre Ramas | git diff [branchName] [branchName] |
Ver cambios de un fichero | git blame [fileName] --date short |
Quitar tracking de cambios | git rm --cached [fileName or folder or pattern] |
Configurar nombre de usuario global | git config --global user.name "[Name]" |
Configurar nombre de email global | git config --global user.email "[email]" |
Configurar nombre de usuario para repo | git config user.name "[Name]" |
Configurar nombre de email para repo | git config user.email "[email]" |
Configurar log personal | git config --global alias.mylog \\"log --graph [morelogTags]" |
Alias de comandos | git config --global alias.[abreviatura] [gitCommand] |
git config help para más configs | |
Rebase interactivo | git rebase -i [HEAD~numberHeadsToRebase] |
Rebase comment | change pick->reword [newComment] |
Rebase con separación de commit | change pick-> editRecommit git reset HEAD |
Squash merge commit | git rebase -i [HEAD~numberHeadsToRebase] pick -> squash |
Guardar temporalmente un trabajo | git stash save |
Recuperar un trabajo guardado temp | git stash apply |
git stash apply [stashName] | |
Ver lista de stashes | git stash |
Descartar stash | git stash drop
git stash drop [stashName] |
Recuperar y borrar | git stash pop |
Recuperar stash sin staging | git stash save --keep-index |
Saludos.