Tips: Més de 100 ordres per GitHub / Git que hauries de conèixer

Ahir va ser un dia de bastant programació i un conflicte amb el repositori de git em va portar a l' repositori de hemanth on vaig aconseguir un complet llistat amb més de 400 ordres per la GitHub / Git que són considerats el més utilitzats, cada un d'ells ve acompanyat de l'explicació del seu ús. Si no tens ni idea que és GitHub o simplement fes tingut problema per instal·lar-lo, pots anar a la Guia ràpida per a utilitzar GitHub que segur et traurà tots els dubtes.

Ajuda d'Git per a ús diari, menys de 20 ordres per utilitzar git diàriament.

git ajuda diari

Mostra la guia d'Ajuda d'Git

git ajuda -g

sobreescriure pull

git fetch --all && git reset --hard origin / màster

Llista de tots els fitxers fins a un commit

git ls-tree --name-only -r <commit-ish>

Actualitzar la referència a el primer commit

git update-ref -d HEAD

Llista de tots els arxius en conflicte

git diff --name-only --diff-filter = O

Llista de tots els fitxers canviats en el commit

git diff-tree --no-commit-id --name-only -r <commit-ish>

Veure els canvis que has fet des de l'últim commit

git diff

Compara els teus canvis preparats amb el teu últim commit

git diff --cached

Mostra la diferència entre els canvis registrats i no registrats

git diff HEAD

Llista tots els branches que ja han fet merged amb el teu màster

git branch --merged màster

Canvia ràpidament a l'branch anterior

git checkout -

Treu els branch que ja han estat fusionats amb la master

git branch --merged màster | grep -v '^ \ *' | xargs -n 1 git branch -d

Llista totes les branques i els seus últims commit amb el branch

git branch -vv

Fa un seguiment de l'branch

git branch -o origin / mybranch

Això elimina un branch local

git branch -d <local_branchname>

Això elimina un branch remot

git push origin --delete <remote_branchname>

Desfer canvis locals amb l'últim contingut al cap

git checkout - <nom de l'arxiu>

Reverteix XNUMX commit creant un nou commit

git revertir <commit-ish>

Descarta un commit, es recomana només en branch privats

restabliment de git <commit-ish>

Canvia el missatge de l'commit anterior

git commit -v --amend

Modifica l'Autor

git commit --amend --author ='Autor Name'

Restableix l'autor, després que l'autor a estat canviat en la configuració global

git commit --amend --reset-Autor --no-edit

Canvia la URL remot

git remote set-URL origin <URL>

Obté una llista de totes les referències remotes

git remote

alternativa:

git remote show

Obté una llista de tots els branches locals i remots

git branch -a

Obté una llista dels branches remots

git branca -r

Afegeix les part que van canviar d'un arxiu, en lloc de tot l'arxiu

git add -p

Busca els bash completats

curl http://git.io/vfhol > ~/.git-completion.bash && trobo '[-F ~ / .git-completion.bash] &&. ~ / .Git-completion.bash' >> ~/.bashrc

Mostra els canvis de les últimes 2 setmanes

git log --no-Merges --raw --since ='Fa setmanes 2'

alternatives:

git whatchanged --since ='Fa setmanes 2'

Visualitza tots els commit dels fork de l'màster

git log --no-Merges --stat --reverse màster ..

Selecció de commits a través dels branches usant cherry-pick

git checkout <branch-name> && git cherry-pick <commit-ish>

Troba els branches que contenen commit hash

git branch -a --contains <commit-ish>

alternativa:

git branch --contains <commit-ish>

Alias ​​de Git

git config --global àlies.<gestionar> <comanda> 
git config --global àlies.st estatus

Guarda ràpidament i de manera provisional (stasheado) els treballs realitzats

git stash

alternativa:

git Stash save

Stasheado de tots els arxius, inclusos els que no estan preparats.

git Stash save -o

alternativa:

git Stash save --include-untracked

Montrar llista de tots els fitxers stasheado

git Stash list

Utilitza qualsevol canvi stasheado sense esborrar-lo de la llista de stasheados

git Stash apply <Stash @ {n}>
git Stash pop

Alternatives:

git Stash apply Stash @ {0} && git Stash drop Stash @ {0}

Esborrar tots els stashes emmagatzemats

git Stash clear

Alternatives:

git Stash drop <Stash @ {n}>

Prendre un arxiu específic que hagi estat stasheado

git checkout <Stash @ {n}> -- <ruta_fitxer>

alternativa:

git checkout Stash @ {0} - <ruta_fitxer>

Mostra tots els arxius preparats

git ls-files -t

Mostra tots els arxius que no han estat preparats

git ls-files --others

Mostra tots els arxius ignorats

git ls-files --others -i --exclude-standard

Crear un nou arbre de treball d'un repositori (git 2.5)

git worktree add -b <branch-name> <camí> <start-point>

Crear un nou arbre de treball des d'un HEAD

git worktree add --detach <camí> CAP

Suprimir un fitxer de l'repositori git sense eliminar-lo de l'repositori local

git rm --cached <ruta_fitxer>

alternativa:

git rm --cached -r <directory_path>

Abans d'eliminar arxius sense preparar, fer un recorregut de prova per obtenir la llista d'aquests arxius.

git clean -n

Forçar l'eliminació d'arxius sense preparar

git clean -f

Forçar l'eliminació de directoris sense preparar

git clean -f -d

alternativa:

git clean -df

Actualitzar tots els submòduls

git submodule foreach git pull

Mostra tots els canvis de l'branch actual que no han fet merged amb el màster

git cherry -v màster

alternativa:

git cherry -v màster <branch-to-be-merged>

Reanomenar un branch

git branch -m <nom-nou-sucursal>

alternativa:

git branch -m [<nom-de-sucursal-antiga>] <nom-nou-sucursal>

Actualitzar 'feature' i fer merged 'màster'

git checkout feature && git sobrepassi @ {- 1} && git checkout @ {- 2} && git merge @ {- 1}

Arxivar branch màster

git arxivi màster --format = zip --output = master.zip

Modificar el commit anterior sense modificar el missatge de l'informe

git add --all && git commit --amend --no-edit

Eliminar les branques remotes que ja no existeixin en origin

git fetch -p

alternativa:

git remote prune origin

Recuperar el commit hash de la revisió inicial

 git rev-list --reverse HEAD | head -1

Visualitza l'arbre de versions

git log --pretty = oneline --graph --decorate --all

alternativa:

gitk --all

Afegir un projecte a un repositori usant subarbre

git subtree add --prefix =<nom_directori>/<nom del projecte> --squash git@github.com:<nom d'usuari>/<nom del projecte>.git màster

Obté els canvis de la teva repositori per a un projecte vinculat utilitzant subarbre

git subtree pull --prefix =<nom_directori>/<nom del projecte> --squash git@github.com:<nom d'usuari>/<nom del projecte>.git màster

Exporta un branch i el seu historial a un arxiu

git bundle create <file> <branch-name>

Importa des d'un bundle

git clone repo.bundle <repo-dir> -b <branch-name>

Obté el nom de l'branch actual

git rev-par-se --abbrev-ref HEAD

Ignora un arxiu que ja li han fet commit (eg Changelog).

git update-index --assume-unchanged Changelog; git commit -a; git update-index --no-assumeix-unchanged Changelog

Stashea els canvis abans de reorganitzar

git sobrepassi --autostash

Cerca per aneu al branch local

git fetch origin pull /<id>/ Head:<branch-name>

Alternatives:

git pull origin pull /<id>/ Head:<branch-name>

Mostra els tag més recents de la branca actual

git descriu --tags --abbrev = 0

Busca diferències.

git diff --word-diff

No té en compte els canvis a l'arxiu de seguiment

git update-index --assume-unchanged <nom de l'arxiu>

desfer

git update-index --no-assumeix-unchanged <nom de l'arxiu>

Netejar els arxius de .gitignore.

git clean -X -f

Restaurar arxiu eliminat.

git checkout <deleting_commit>^ - <ruta_fitxer>

Restaurar arxius amb un commit-hash específic

git checkout <commit-ish> -- <ruta_fitxer>

Sempre reorganitzar en lloc de fer merge

git config --global branch.autosetuprebase always

Llistar tots els àlies i les configuracions

git config --list

Fer cas git sensible

git config --global core.ignorecase false

Tipus de autocorrecció.

git config --global ajuda.correcció automàtica 1

Comprova si el canvi és part d'un release.

git name-rev --name-only <share1>

Netejar Dry run.

git clean -fd --dry-run

Marca el commit com una solució a l'commit anterior

git commit --fixup <share1>

Correcció d'esquaix

git sobrepassi -i --autosquash

Salta l'area d'assaig durant el commit.

git commit -am <missatge de confirmació>

Llistar els arxius ignorats

git check-ignori *

Status dels arxius ignorats

git status --ignored

Commits al Branch1 que no estan en el Branch2

git log Branch1 ^ Branch2

gravar i reutilitzar anteriors resolucions de conflictes

git config --global rerere.enabled 1

Obriu tots els arxius en conflicte en un Editor.

git diff --name-only | únic | xargs $ EDITOR

Compta el nombre d'objectes sense preparar i el seu consum en el disc.

git count-objects --human-readable

Manteniment dels objectes inaccessibles

git gc --prune = now --aggressive

Visualitza a l'instant el seu dipòsit en gitweb.

git instaweb [--local] [--httpd=<httpd>] [--Port=<port>] [--Browser=<navegador>]

Visualitza les firmes GPG en el log de confirmació

git log --show-signature

Elimina entrades de la configuració global.

git config --global --unset <entry-name>

Obtingui una nova branca sense historial

git checkout --orphan <branch_name>

Visualitza la diferència entre l'arxiu de producció i l'última versió del mateix.

git diff --staged

Extreure un arxiu d'un altre branch.

git show <branch_name>:<nom de l'arxiu>

Llista només l'arrel i confirma el merge

git log --first-parent

Fa merge entre dues commit

git sobrepassi --interactive HEAD ~ 2

Llista tots els branch

git checkout master && git branch --no-merged

Troba utilitzant cerca binària

git bisect start git bisect bad git bisect good v2.6.13-rc2 git bisect bad git bisect good git bisect reset                    

Llista els commits i canvis d'un arxiu en específic

git log --follow -p - <ruta_fitxer>

Clona un sol branch

git clone -b <branch-name> --single-branch https://github.com/user/repo.git

Crea i canvia a un nou branch

git checkout -b <branch-name>

Ignora els arxius que tinguin canvis en els commits

git config core.fileMode false

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Gabriel va dir

    Excel·lent recopilació d'ordres 😉

  2.   Jesús Perales va dir

    Excel·lent aportació !!