I går var en temmelig programmeringsdag, og en konflikt med git-arkivet førte mig til hæmant arkiv hvor jeg fik en komplet liste med mere end 400 kommandoer para GitHub/Git der betragtes som de mest anvendte, ledsages hver af dem af en forklaring på deres anvendelse. Hvis du ikke har nogen idé om, hvad det er GitHub eller du har lige haft et problem med at installere det, kan du gå til Hurtig vejledning til brug af GitHub det vil helt sikkert fjerne al din tvivl.
Git hjælp til daglig brug, mindre end 20 kommandoer til at bruge git dagligt.
git hjælpe hverdagen
Vis Git-hjælpeguide
git hjælpe -g
Overskriv træk
git-hentning - alt && git reset - hård oprindelse / master
Liste over alle filer op til en forpligtelse
git ls-tree - kun-navn -r <begå-ish>
Opdater henvisningen til den første forpligtelse
git update -ref -d HEAD
Liste over alle filer i konflikt
git diff - kun navn - diff-filter = U
Liste over alle filer ændret i commit
git diff-tree --no-commit-id - kun-navn -r <begå-ish>
Se de ændringer, du har foretaget siden sidste forpligtelse
git diff
Sammenlign dine forberedte ændringer med din sidste forpligtelse
git diff - cached
Viser forskellen mellem loggede og ikke-registrerede ændringer
git diff HOVED
Liste over alle grene, der allerede er fusioneret med din master
git gren - flettet mester
Skift hurtigt til den forrige gren
git checkout -
Fjern de grene, der allerede er blevet flettet med mesteren
git gren - flettet mester | grep -v '^ \ *' | xargs -n 1 git gren -d
Liste over alle grene og deres sidste forpligtelser med grenen
git gren -vv
Spor grenen
git gren -u oprindelse / mybranch
Slet en lokal filial
git gren -d <lokal_filialnavn>
Slet en ekstern gren
git push-oprindelse - slet <fjernbetjeningsnavn>
Fortryd lokale ændringer med det nyeste indhold i hovedet
git checkout - <filnavn>
Rul et engagement tilbage ved at oprette et nyt commit
git vende tilbage <begå-ish>
Kassér en forpligtelse, anbefales kun i private filialer
git nulstillet <begå-ish>
Skift den forrige forpligtelsesmeddelelse
git commit -v --amend
Rediger forfatteren
git commit --ændre --author ='Forfatterens navn'
Nulstil forfatteren, efter at forfatteren er blevet ændret i globale indstillinger
git commit --amend --reset-author --no-edit
Skift den eksterne URL
git ekstern set-url oprindelse <URL>
Får en liste over alle eksterne referencer
git fjernbetjening
alternativ:
git fjernshow
Få en liste over alle lokale og eksterne grene
git gren -a
Få en liste over fjerntliggende grene
git gren -r
Tilføj de ændrede dele af en fil i stedet for hele filen
git tilføje -p
Find afsluttede forsøg
krølle http://git.io/vfhol > ~/.git-completion.bash && ekko '[-f ~ / .git-finishing.bash] &&. ~ / .git-finishing.bash' >> ~/.bashrc
Viser ændringerne i de sidste 2 uger
git log --no-fusioner --raw --since ='2 uger siden'
alternativer:
git whatchanged --since ='2 uger siden'
Se alle forpligtelser fra mastergaflerne
git log --no-fusioner --stat - omvendt master ..
Valg af forpligtelser på tværs af grene ved hjælp af cherry-pick
git checkout <afdelingsnavn> && git cherry pick <begå-ish>
Find de grene, der indeholder commit hash
git gren -a - indeholder <begå-ish>
alternativ:
git gren - indeholder <begå-ish>
Git aliaser
git config - global alias.<håndtere> <kommando>
git config - global alias.st status
Gem hurtigt og midlertidigt (stasheado) det udførte arbejde
git stash
alternativ:
git stash gem
Stasheado af alle filer, også dem der ikke er forberedt.
git stash gem -u
alternativ:
git stash gem - inkludere-ikke-sporet
Vis liste over alle stasheado-filer
git stash-liste
Brug enhver iscenesat ændring uden at slette den fra den iscenesatte liste
git stash gælder <stash @ {n}>
Anvend stashændringerne igen, og fjern det fra stash-listen
git stash pop
Alternativer:
git stash anvend stash @ {0} && git stash drop stash @ {0}
Slet alle gemte stashes
git stash klar
Alternativer:
git stash drop <stash @ {n}>
Tag en bestemt fil, der er gemt
git checkout <stash @ {n}> -- <filsti>
alternativ:
git checkout stash @ {0} - <filsti>
Vis alle forberedte filer
git ls-filer -t
Vis alle filer, der ikke er forberedt
git ls-filer - andre
Vis alle ignorerede filer
git ls-filer - andre -i - ekskluder-standard
Opret et nyt arkivarbejdstræ (git 2.5)
git arbejdsbord tilføj -b <afdelingsnavn> <sti> <startpunkt>
Opret et nyt arbejdstræ fra et HEAD
git arbejdsbord tilføj --detach <sti> HEAD
Slet en fil fra git-arkivet uden at slette den fra det lokale lager
git rm -gemt <filsti>
alternativ:
git rm -cachelagret -r <bibliotekssti>
Inden du sletter rå filer, skal du tage et testdrev for at få listen over disse filer.
git ren -n
Tving sletning af uforberedte filer
git ren -f
Tving fjernelse af uforberedte mapper
git clean -f -d
alternativ:
git clean -df
Opdater alle undermoduler
git undermodul foreach git pull
Viser alle ændringer i den aktuelle gren, der ikke er blevet flettet med masteren
git cherry -v master
alternativ:
git cherry -v master <filial, der skal fusioneres>
Omdøb en gren
git gren -m <nyt filialnavn>
alternativ:
git gren -m [<gamle gren-navn>] <nyt filialnavn>
Opdater 'funktion' og lav flettet 'master'
git checkout-funktion && git rebase @ {- 1} && git checkout @ {- 2} && git merge @ {- 1}
Arkiver mastergrenen
git arkiv master --format = zip --output = master.zip
Rediger den foregående forpligtelse uden at ændre rapportmeddelelsen
git add --all && git commit --amend --no-edit
Slet eksterne grene, der ikke længere findes i oprindelsen
git hent -p
alternativ:
git remote beskære oprindelse
Hent commit-hash fra den oprindelige revision
git rev-list - omvendt HEAD | hoved -1
Se versionstræet
git log --pretty = oneline --graph --decorate --all
alternativ:
gitk - alt
Føj et projekt til et arkiv ved hjælp af undertræ
git subtree add --prefix =<katalognavn>/<Projekt navn> --quash git@github.com:<brugernavn>/<Projekt navn>.git mester
Få de seneste ændringer fra dit arkiv til et linket projekt ved hjælp af subtree
git subtree pull --prefix =<katalognavn>/<Projekt navn> --quash git@github.com:<brugernavn>/<Projekt navn>.git mester
Eksporter en filial og dens historie til en fil
git bundle oprette <fil> <afdelingsnavn>
Importer fra et bundt
git klon repo.bundle <repo-dir> -b <afdelingsnavn>
Får navnet på den aktuelle gren
git rev-parse --abbrev-ref HEAD
Ignorer en fil, der allerede er begået (f.eks. Changelog).
git update-index - antagelses-uændret Changelog; git commit -a; git opdateringsindeks - ingen-antager-uændret Changelog
Stashea skifter inden omarrangering
git rebase - autostash
Søg efter id i lokal filial
git hente oprindelse pull /<id>/ hoved:<afdelingsnavn>
Alternativer:
git pull origin pull /<id>/ hoved:<afdelingsnavn>
Viser de seneste tags i den aktuelle gren
git beskriv --tags --abbrev = 0
Se efter forskelle.
git diff --word-diff
Ignorer ændringer i sporingsfilen
git update-index - antagelse-uændret <filnavn>
fortryde
git opdateringsindeks - ingen-antager-uændret <filnavn>
Ryd op i filer .gitignore
.
git clean -X -f
Gendan slettet fil.
git checkout <slette_forpligtelse>^ - <filsti>
Gendan filer med en bestemt commit-hash
git checkout <begå-ish> -- <filsti>
Omarranger altid i stedet for at flette
git config - global branch.autosetuprebase altid
Liste over aliaser og indstillinger
git config -listen
Gør sagen git følsom
git config -global core.ignorecase falsk
Typer af selvkorrektion.
git config - global hjælpe.autokorrekt 1
Kontrollerer, om ændringen er en del af en frigivelse.
git name-rev - kun navn <SHA-1>
Ren tørløb.
git clean -fd - tør-kør
Marker forpligtelsen som en løsning på den tidligere forpligtelse
git commit -rettelse <SHA-1>
Korrektion af squash
git rebase -i --autosquash
Spring over iscenesættelsesområde under begivenhed.
git begå -am <begå besked>
Liste over de ignorerede filer
git check-ignorere *
Status for ignorerede filer
git status -markeret
Forpligter sig i Branch1, der ikke er i Branch2
git-log Filial1 ^ Filial2
gemme og genbruge tidligere konfliktløsninger
git config --global rerere.aktiveret 1
Åbn alle modstridende filer i en Editor.
git diff - kun navn | Uniq | xargs $ REDAKTØR
Tæl antallet af uforberedte objekter og deres forbrug på disken.
git count-objects - menneskelig læsbar
Vedligeholdelse af utilgængelige genstande
git gc - beskære = nu - aggressiv
Se straks dit lager på gitweb.
git instaweb [--local] [--httpd=<httpd>] [--Havn=<port>] [-browser=<browser>]
Se GPG-signaturer i bekræftelsesloggen
git log - show-signatur
Fjerner poster fra globale indstillinger.
git config --global --unset <post-navn>
Få en ny filial uden historie
git checkout - orphan <afdelingsnavn>
Viser forskellen mellem produktionsfilen og den nyeste version af den.
git diff - iscenesat
Uddrag en fil fra en anden gren.
git show <afdelingsnavn>:<filnavn>
Angiv kun roden, og bekræft sammenlægningen
git log - førsteforælder
Flet mellem to forpligtelser
git rebase - interaktiv HEAD ~ 2
Liste over alle grene
git checkout mester && git gren - ikke-fusioneret
Find ved hjælp af binær søgning
git bisect start git bisect dårlig git bisect god v2.6.13-rc2 git bisect dårlig git bisect god git bisect reset
Liste over forpligtelser og ændringer for en bestemt fil
git log --følg -p - <filsti>
Klon en enkelt gren
git klon -b <afdelingsnavn> - enkeltgren https://github.com/user/repo.git
Opret og skift til en ny gren
git checkout -b <afdelingsnavn>
Ignorer filer, der har ændringer i forpligtelser
git config core.fileMode falsk
Fremragende kompilering af kommandoer 😉
Fremragende bidrag !!