Sei sulla pagina 1di 10

MS DE 100 COMANDOS PARA GITHUB / GIT QUE DEBERAS CONOCER

Ayer fue un da de bastante programacin y un conflicto con el repositorio de git me llev al repositorio de hemanth donde consegu un
completo listado con ms de 400 comandos para GitHub / Git que son considerados los ms utilizados, cada uno de ellos viene
acompaado de la explicacin de su uso. Si no tienes ni idea de que es GitHub o simplemente haz tenido problema para instalarlo, puedes
ir a la Gua rpida para utilizar GitHub que seguro te sacar todas las dudas.
Ayuda de git para uso diario, menos de 20 comandos para usar Git diariamente.
git help everyday
Muestra la gua de Ayuda de Git
git help -g
Sobreescribir pull
git fetch --all && git reset --hard origin/master
Lista de todos los archivos hasta un commit
git ls-tree --name-only -r <commit-ish>
Actualizar la referencia al primer commit
git update-ref -d HEAD
Lista de todos los archivos en conflicto
git diff --name-only --diff-filter=U
Lista de todos los archivos cambiados en el commit
git diff-tree --no-commit-id --name-only -r <commit-ish>
Ver los cambios que hiciste desde el ltimo commit
git diff
Compara tus cambios preparados con tu ltimo commit
git diff --cached
Muestra la diferencia entre los cambios registrados y no registrados
git diff HEAD
Lista todos los branches que ya han hecho merged con tu master

git branch --merged master


Cambia rpidamente al branch anterior
git checkout Quita los branch que ya han sido fusionados con la master
git branch --merged master | grep -v '^\*' | xargs -n 1 git branch -d
Lista todas las ramas y sus ltimos commit con el branch
git branch -vv
Realiza un seguimiento del branch
git branch -u origin/mybranch
Elimina un branch local
git branch -d <local_branchname>
Elimina un branch remoto
git push origin --delete <remote_branchname>
Deshacer cambios locales con el ltimo contenido en la cabeza
git checkout -- <file_name>
Revierte un commit creando un nuevo commit
git revert <commit-ish>
Descarta un commit, se recomienda slo en branch privados
git reset <commit-ish>
Cambia el mensaje del commit anterior
git commit -v --amend
Modifica el Autor
git commit --amend --author='Author Name <email@address.com>;'
Restablece el autor, despus de que el autor ha sido cambiado en la configuracin global
git commit --amend --reset-author --no-edit
Cambia la URL remota
git remote set-url origin <URL>
Obtiene una lista de todas las referencias remotas

git remote
Alternativa:
git remote show
Obtiene una lista de todos los branches locales y remotos
git branch -a
Obtiene una lista de los branches remotos
git branch -r
Aade las parte que cambiaron de un archivo, en lugar de todo el archivo
git add -p
Busca los bash completados
curl http://git.io/vfhol > ~/.git-completion.bash && echo '[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrc
Muestra los cambios de las ltimas 2 semanas
git log --no-merges --raw --since='2 weeks ago'
Alternativas:
git whatchanged --since='2 weeks ago'
Visualiza todos los commit de los fork del master
git log --no-merges --stat --reverse master..
Seleccin de commits a travs de los branches usando cherry-pick
git checkout <branch-name> && git cherry-pick <commit-ish>
Encuentra los branches que contienen commit hash
git branch -a --contains <commit-ish>
Alternativa:
git branch --contains <commit-ish>
Alias de Git
git config --global alias.<handle> <command>
git config --global alias.st status
Guarda rpidamente y de manera provisional (stasheado) los trabajos realizados
git stash

Alternativa:
git stash save
Stasheado de todos los archivos, inclusos los que no estn preparados.
git stash save -u
Alternativa:
git stash save --include-untracked
Montrar lista de todos los archivos stasheado
git stash list
Usar cualquier cambio stasheado sin borrarlo de la lista de stasheados
git stash apply <stash@{n}>;
Reaplicar los cambios stasheados y sacarlo de la lista de stasheados
git stash pop
Alternatives:
git stash apply stash@{0} &;& git stash drop stash@{0}>
Borrar todos los stashes almacenados
git stash clear
Alternatives:
git stash drop <stash@{n}>;
Tomar un archivo especfico que haya sido stasheado
git checkout <stash@{n}>; -- <file_path>
Alternativa:
git checkout stash@{0} -- <file_path>
Mostrar todos los archivos preparados
git ls-files -t
Mostrar todos los archivos que no han sido preparados
git ls-files --others
Mostrar todos los archivos ignorados
git ls-files --others -i --exclude-standard

Crear un nuevo rbol de trabajo de un repositorio (git 2.5)


git worktree add -b <branch-name> <path> <start-point>
Crear un nuevo rbol de trabajo desde un HEAD
git worktree add --detach <path> HEAD
Eliminar un archivo del repositorio git sin eliminarlo del respositorio local
git rm --cached <file_path>
Alternativa:
git rm --cached -r <directory_path>
Antes de eliminar archivos sin preparar, hacer un recorrido de prueba para obtener la lista de estos archivos.
git clean -n
Forzar la eliminacin de archivos sin preparar
git clean -f
Forzar la eliminacin de directorios sin preparar
git clean -f -d
Alternativa:
git clean -df
Actualizar todos los submdulos
git submodule foreach git pull
Muestra todos los cambios del branch actual que no han hecho merged con el master
git cherry -v master
Alternativa:
git cherry -v master <branch-to-be-merged>
Renombrar un branch
git branch -m <new-branch-name>
Alternativa:
git branch -m [<old-branch-name>] <new-branch-name>
Actualizar feature y hacer merged master
git checkout feature && git rebase @{-1} && git checkout @{-2} && git merge @{-1}

Archivar el branch master


git archive master --format=zip --output=master.zip
Modificar el commit anterior sin modificar el mensaje del informe
git add --all && git commit --amend --no-edit
Eliminar las ramas remotas que ya no existan en origin
git fetch -p
Alternativa:
git remote prune origin
Recuperar el commit hash de la revisin inicial
git rev-list --reverse HEAD | head -1
Visualiza el rbol de versiones
git log --pretty=oneline --graph --decorate --all
Alternativa:
gitk --all
Aadir un proyecto a un repositorio usando subrbol
git subtree add --prefix=<directory_name>/<project_name> --squash git@github.com:<username>/<project_name>.git master
Obtiene los ltimos cambios de tu repositorio para un proyecto vinculado utilizando subrbol
git subtree pull --prefix=<directory_name>/<project_name> --squash git@github.com:<username>/<project_name>.git master
Exporta un branch y su historial a un archivo
git bundle create <file> <branch-name>
Importa desde un bundle
git clone repo.bundle <repo-dir> -b <branch-name>
Obtiene el nombre del branch actual
git rev-parse --abbrev-ref HEAD
Ignora un archivo que ya le han hecho commit(e.g. Changelog).
git update-index --assume-unchanged Changelog; git commit -a; git update-index --no-assume-unchanged Changelog
Stashea los cambios antes de reorganizar
git rebase --autostash

Busca por id en el branch local


git fetch origin pull/<id>/head:<branch-name>
Alternatives:
git pull origin pull/<id>/head:<branch-name>
Muestra los tag ms recientes de la rama actual
git describe --tags --abbrev=0
Busca diferencias.
git diff --word-diff
No tiene en cuenta los cambios en el archivo de seguimiento
git update-index --assume-unchanged <file_name>
Deshacer
git update-index --no-assume-unchanged <file_name>
Limpiar los archivos de .gitignore.
git clean -X -f
Restaurar archivo eliminado.
git checkout <deleting_commit>^ -- <file_path>
Restaurar archivos con un commit-hash especfico
git checkout <commit-ish> -- <file_path>
Siempre reorganizar en lugar de hacer merge
git config --global branch.autosetuprebase always
Listar todos los alias y las configuraciones
git config --list
Hacer caso git sensible
git config --global core.ignorecase false
Tipos de autocorrecin.
git config --global help.autocorrect 1
Comprueba si el cambio es parte de un release.
git name-rev --name-only <SHA-1>

Limpiar Dry run.


git clean -fd --dry-run
Marca el commit como una solucin al commit anterior
git commit --fixup <SHA-1>
Correcin de squash
git rebase -i --autosquash
Salta el area de ensayo durante el commit.
git commit -am <commit message>
Listar los archivos ignorados
git check-ignore *
Status de los archivos ignorados
git status --ignored
Commits en el Branch1 que no estn en el Branch2
git log Branch1 ^Branch2
grabar y reutilizar anteriores resoluciones de conflictos
git config --global rerere.enabled 1
Abra todos los archivos en conflicto en un Editor.
git diff --name-only | uniq | xargs $EDITOR
Cuenta el nmero de objetos sin preparar y su consumo en el disco.
git count-objects --human-readable
Mantenimiento de los objetos inaccesibles
git gc --prune=now --aggressive
Visualiza al instante su repositorio en gitweb.
git instaweb [--local] [--httpd=<httpd>] [--port=<port>] [--browser=<browser>]
Visualiza las firmas GPG en el log de confirmacin
git log --show-signature
Elimina entradas de la configuracin global.
git config --global --unset <entry-name>

Obtenga una nueva rama sin historial


git checkout --orphan <branch_name>
Visualiza la diferencia entre el archivo de produccin y la ltima versin del mismo.
git diff --staged
Extraer un archivo de otro branch.
git show <branch_name>:<file_name>
Lista slo la raiz y confirma el merge
git log --first-parent
Hace merge entre dos commit
git rebase --interactive HEAD~2
Lista todos los branch
git checkout master && git branch --no-merged
Encuentra utilizando bsqueda binaria
git bisect start
git bisect bad
git bisect good v2.6.13-rc2
git bisect bad
git bisect good
git bisect reset
Lista los commits y cambios de un archivo en especfico
git log --follow -p -- <file_path>
Clona un slo branch
git clone -b <branch-name> --single-branch https://github.com/user/repo.git
Crea y cambia a un nuevo branch
git checkout -b <branch-name>
Ignora los archivos que tengan cambios en los commits
git config core.fileMode false

(Fuente: desdelinux)

Potrebbero piacerti anche