Git er et populært, kraftig verktøy og muligens det mest vellykkede versjonskontrollsystemet som noen gang har vært. Gits makt er tydelig fra kommandosettet. Den består for tiden av omtrent 150 kommandoer, fra det vanlige git-status til det uklare git-get-tar-commit-id. Med hver kommando som støtter sitt eget sett med alternativer, er det svimlende mye å huske.

Heldigvis har Git en måte å forenkle ting på. Et Git-alias kan fungere som en snarvei for hvilken som helst underkommando, med ethvert sett med alternativer. Med eksterne kommandoer kan du bruke enda kraftigere påkallinger. Her er 10 av de mest nyttige aliasene du kan sette opp.

Hvordan sette et alias

Å sette et alias er så enkelt som å følge dette mønsteret:

git config --global alias.co 'kassa'

De --global alternativet angir aliaset for all Git-bruk av den nåværende brukeren. For å få et alias til å gjelde for alle brukere av systemet, bruk --system i stedet. For å legge til et alias som er spesifikt for gjeldende depot, bruk --lokal.

Hvis du vet hvor en konfigurasjonsfil er, kan du redigere den direkte. Systemkonfigurasjon er vanligvis globalt /usr/local/etc/gitconfig. Din brukerspesifikke konfigurasjon vil leve i en fil i hjemmekatalogen, for eksempel ~/.gitconfig. Lokal konfigurasjon finnes i hvert depot selv, i .git/config fil.

Se også: Slik installerer og konfigurerer du Git på Linux

1. Et alias for å bytte gren raskt

Avhengig av arbeidsflyten din, kan du bytte gren mange ganger i løpet av hver arbeidsøkt. For å lindre en liten innsats og øve deg med den enkleste typen alias, prøv følgende:

alias.co 'kassa'

Skrive git co-funksjon1 vil nå bytte til funksjon 1 gren. Aliaset forkorter navnet på underkommandoen, som fortsetter å fungere med ekstra argumenter.

2. Se kondensert status

Som standard er git -status kommando produserer detaljert utdata. Det forklarer staten i detalj, med nyttig informasjon for alle som ikke er kjent med Git. Men hvis du vil spare litt plass og allerede er kjent med Git-terminologi, vil du kanskje sette opp et alias for en kortere versjon:

alias.st status -sb

Dette er bare en veldig liten variasjon på git-status, men -s alternativet gir en kort produksjon som gjør ting mye mer korte. Det vil ta noe slikt som denne standard git -statusen:

Og produser dette i stedet:

De -b alternativet viser gren- og sporingsinformasjon som -s ellers ville undertrykke.

3. Vis sammendragslogg

Git tilbyr mange måter å inspisere prosjektets historie via git-logg kommando. Det kan filtrere forpliktelsene det rapporterer og kan vise mange forskjellige data tilknyttet hver forpliktelse. Noen ganger vil du imidlertid ha en så kompakt logg som mulig. De --en linje alternativet gir dette, men det er mye raskere å gi det et alias, gitt at det er en du kan bruke ganske ofte:

alias.ll 'logg -online'

Utdataene presenterer en kommisjon per linje, med tittelen på meldingsmeldingen, og en forkortet hash. Det ser slik ut:

4. Angre den siste endringen

De git reset kommando er verdifull, men det er ikke den enkleste å forstå. Noen ganger vil du bare ha en enkel angre som vender tilbake den siste forpliktelsen. De --myk alternativet sikrer at Git bare fjerner den siste forpliktelsen, uten å endre noe om de lokale filene i arbeidstreet. HODE ~ 1 er ganske enkelt en måte å referere til forpliktelsen før HODET.

alias.undo 'reset --soft HEAD ~ 1'

5. Logg over siste forpliktelse

Hvis du tar opp et prosjekt fra dagen før, kan det være nyttig å undersøke den siste forpliktelsen. Med en git-logg alias kan du få en rask, detaljert rapport om siste forpliktelse:

alias. siste 'log -1 HEAD --stat'

De -1 HODE alternativet ber ganske enkelt om den aller siste forpliktelsen og --stat lister opp filene som forpliktelsen berørte, med antall linjer satt inn og slettet for hver.

6. En enkel engangsforpliktelse

Du vil sannsynligvis finne deg selv å legge til filer og begå dem i det neste trinnet ganske ofte. Med mindre arbeidsflyten din er mer komplisert, vil du kanskje forenkle denne prosessen med et alias:

alias.ac '! git add -A && git commit'

De enkelte komponentene krever ikke mye forklaring, bortsett fra å merke seg at -EN alternativet sendt til git-add oppdaterer indeksen automatisk slik at alle filer samsvarer med arbeidskopien. Den henvender seg til filsletting, modifisering og oppretting.

En interessant ting å merke seg om dette aliaset er at det kombinerer to kommandoer. Det gjør det ved hjelp av ! som første alias. Dette informerer Git om at det som følger er en ekstern skallkommando i stedet for en underkommando.

7. Fancy grenformatering

En annen kommando med mye fleksibilitet, git-gren kan formatere utdataene på mange måter utover den sparsomme standardverdien.

alias.br "gren --format = '% (HEAD)% (farge: gul)% (refnavn: kort)% (farge: reset) -% (innhold: emne)% (farge: grønn) (% (kommitteringsdato: relativ)) [% (authorname)] '--sort = -committerdate "

Undersøk formatet fra start til slutt. Merk at den inneholder mange spesielle felt. %(HODE) legger til en stjerne ved siden av den nåværende grenen.

Aliaser er en fin måte å eksperimentere med formatering for kommandoer som git-gren. Du vil utvikle preferanser over tid, så det er et must å holde oversikt over hvilke alternativer som gir din favorittprodukt.

8. Oppsummering av endringer etter bidragsyter

En variant av git log, git-shortlog grupperer forpliktelsene den viser etter forfatter. Dette er ideelt for utgivelsesnotater eller bare å holde øye med hvem som har gjort det nylig.

Noen få alternativer gir et veldig praktisk allsidig forfatteroppsummering perfekt for vanlig bruk via et alias. De -e alternativet viser e-postadresser i tillegg til navn. De --sammendrag alternativet bare utfører et totalt antall i stedet for emnet for hver forpliktelse. Og --nummerert bestiller den endelige produksjonen med totalt antall bidrag. Du kan bruke dette aliaset:

alias.contrib 'shortlog -e --summary --numbered'

For å produsere følgende utdata:

9. Listegrener sortert etter sist endret

Nå for litt mer arbeid med grener, denne gangen ved hjelp av en underkommando på lavere nivå. Dette kompliserte aliaset er et annet eksempel på en ekstern kommando - en rørledning, i dette tilfellet. For det første git-for-hver-ref kommandosløyfe gjennom alle kjente grener. Det gjør det i godkjenne rekkefølge og formaterer utdataene for å vise datoen ved siden av kommisjonen. Endelig bruker den sed å strippe ref / hoder / fra navnet på hver gren.

alias.b '! git for-each-ref --sort = "- authordate" --format = "% (authordate)% 09% (objectname: short)% 09% (refname)" refs / heads | sed -e "s-refs / heads / -" '

Se også: Disse sed eksemplene vil gjøre deg til en Linux-strømbruker

10. Et alias for å vise alle aliaser

Med all denne støtten for aliaser er det overraskende at Git ikke tilbyr en enkel måte å se alle aliasene du har satt opp. Ikke bekymre deg, men du kan fikse det med et alias! De git config kommandoen viser alle gjeldende konfigurasjoner. Du kan filtrere verdier ved hjelp av - få-regexp alternativet, slik at følgende alias gir deg et nyttig git alias kommando:

alias.alias 'git config - get-regexp ^ alias.'

Spar tid og frustrasjon med Git-aliaser

Git-alias sparer deg tid ved å eliminere behovet for å skrive lange og kompliserte kommandoer. Git har et stort antall underkommandoer, men aliaser er enkle å gjenbruke og vedlikeholde. Du kan til og med pakke aliaser i prosjektet ditt via lokal konfigurasjon, slik at du kan dele snarveier og standardpraksis.

Akkurat som Linux-aliaser, lar Git-aliaser deg skrive mindre og gjøre mer. Prøv å eksperimentere med aliasene ovenfor, og utforsk hele Git -kommandosettet for å se den store funksjonaliteten som er tilgjengelig.

DelekvitringE-post
Avansert Git-opplæring

Ta din Git-ferdighet fra nybegynner til avansert med denne omfattende veiledningen.

Les Neste

Relaterte temaer
  • Programmering
  • GitHub
  • Kodingstips
Om forfatteren
Bobby Jack (57 artikler publisert)

Bobby er en teknologientusiast som jobbet som programvareutvikler i det meste av to tiår. Han brenner for spill, jobber som Reviews Editor i Switch Player Magazine, og er fordypet i alle aspekter av online publisering og nettutvikling.

Mer fra Bobby Jack

Abonner på vårt nyhetsbrev

Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere