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 perquè 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.

Índex

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 - <file_name>

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}> -- <file_path>

alternativa:

git checkout Stash @ {0} - <file_path>

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 <file_path>

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 <new-branch-name>

alternativa:

git branch -m [<old-branch-name>] <new-branch-name>

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 =<directory_name>/<project_name> --squash git@github.com:<nom d'usuari>/<project_name>.git màster

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

git subtree pull --prefix =<directory_name>/<project_name> --squash git@github.com:<nom d'usuari>/<project_name>.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 <file_name>

desfer

git update-index --no-assumeix-unchanged <file_name>

Netejar els arxius de .gitignore.

git clean -X -f

Restaurar arxiu eliminat.

git checkout <deleting_commit>^ - <file_path>

Restaurar arxius amb un commit-hash específic

git checkout <commit-ish> -- <file_path>

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.autocorrect 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>:<file_name>

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 - <file_path>

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

El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

2 comentaris, deixa el teu

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ó !!