Git er et populært, kraftfuldt værktøj og muligvis det mest succesrige versionskontrolsystem, der nogensinde har været. Gits magt fremgår af dets kommandosæt. Den består i øjeblikket af omkring 150 kommandoer fra det fælles git-status til det uklare git-get-tar-commit-id. Med hver kommando, der understøtter sit eget sæt valgmuligheder, er der en svimlende mængde at huske.
Heldigvis har Git en måde at forenkle tingene på. Et Git-alias kan fungere som en genvej til enhver underkommando med ethvert sæt valgmuligheder. Med eksterne kommandoer kan du bruge endnu mere kraftfulde påkald. Her er 10 af de mest nyttige aliasser, du kan konfigurere.
Sådan indstilles et alias
At indstille et alias er så simpelt som at følge dette mønster:
git config --global alias.co 'checkout'
Det --global option indstiller aliaset for al Git-brug af den aktuelle bruger. Brug for at gøre et alias gældende for alle brugere af systemet --system i stedet. Brug for at tilføje et alias, der er specifikt for det aktuelle lager --lokal.
Hvis du ved, hvor en konfigurationsfil er, kan du redigere den direkte. Systemkonfiguration er typisk globalt /usr/local/etc/gitconfig. Din brugerspecifikke konfiguration lever i en fil i dit hjemmekatalog, f.eks ~ / .gitconfig. Lokal konfiguration findes inden for hvert lager i selve .git / config fil.
Se også: Sådan installeres og konfigureres Git på Linux
1. Et alias til hurtigt at skifte gren
Afhængigt af din arbejdsgang kan du skifte filial mange gange under hver arbejdssession. For at mindske en lille indsats og øve dig med den enkleste form for alias, prøv følgende:
alias.co 'checkout'
Indtastning git co-funktion1 skifter nu til funktion1 afdeling. Aliaset forkorter navnet på underkommandoen, som fortsætter med at arbejde med ekstra argumenter.
2. Se kondenseret status
Som standard er git status kommando producerer detaljeret output. Det forklarer staten detaljeret med nyttige oplysninger til enhver, der ikke er bekendt med Git. Men hvis du vil spare lidt plads, og du allerede er bekendt med Git-terminologi, kan du muligvis oprette et alias til en kortere version:
alias.st status -sb
Dette er bare en meget lille variation på git-status, men -s option giver en kort output, der gør tingene meget mere korte. Det tager noget som denne standard git-status:
Og producer dette i stedet:
Det -b valgmulighed viser gren- og sporingsinfo, hvilken -s ellers ville undertrykke.
3. Vis oversigtslogning
Git tilbyder mange måder at inspicere et projekts historie via git-log kommando. Det kan filtrere de forpligtelser, det rapporterer, og kan vise mange forskellige data, der er knyttet til hver forpligtelse. Nogle gange vil du dog have en log, der er så kompakt som muligt. Det --online mulighed giver dette, men det er meget hurtigere at kalde det, da det er en, du måske bruger ret ofte:
alias.ll 'log --oneline'
Outputtet præsenterer en forpligtelse pr. Linje med titlen på forpligtelsesmeddelelsen og en forkortet hash. Det ser sådan ud:
4. Fortrydelse af den sidste ændring
Det git reset kommando er værdifuld, men det er ikke den nemmeste at forstå. Nogle gange vil du bare have en simpel fortrydelse, der afvikler den sidste forpligtelse. Det --blød mulighed sikrer, at Git kun fjerner den sidste forpligtelse uden at ændre noget om de lokale filer i dit arbejdstræ. HOVED ~ 1 er simpelthen en måde at henvise til den begåede foran HOVEDET.
alias.undo 'nulstil --soft HEAD ~ 1'
5. Log of the Last Commit
Hvis du tager et projekt op dagen før, kan det være nyttigt at undersøge den sidste forpligtelse. Med en git-log alias kan du få en hurtig, detaljeret rapport om den sidste forpligtelse:
alias.last 'log -1 HEAD --stat'
Det -1 HOVED option anmoder simpelthen om den sidste forpligtelse og --stat viser de filer, som forpligtelsen berørte, med antallet af linjer indsat og slettet for hver.
6. En let engangsforpligtelse
Du finder sandsynligvis dig selv at tilføje filer og forpligte dem i det næste næste trin ret ofte. Medmindre din arbejdsgang er mere kompliceret, vil du muligvis forenkle denne proces med et alias:
alias.ac '! git add-A && git commit'
De enkelte komponenter kræver ikke meget forklaring bortset fra at bemærke, at -EN mulighed videregivet til git-add opdaterer automatisk indekset, så alle filer matcher arbejdskopien. Det henvender sig til filsletning, ændring og oprettelse.
En interessant ting at bemærke om dette alias er, at det kombinerer to kommandoer. Det gør det ved hjælp af ! som det første tegn i aliaset. Dette informerer Git om, at det, der følger, er en ekstern shell-kommando snarere end en underkommando.
7. Fancy grenformatering
En anden kommando med masser af fleksibilitet, git-gren kan formatere sin output på mange måder ud over den sparsomme standard.
alias.br "gren --format = '% (HEAD)% (farve: gul)% (refname: kort)% (farve: reset) -% (indhold: emne)% (farve: grøn) (% (kommitteringsdato: relativ)) [% (authorname)] '--sort = -committerdate "
Undersøg formatet fra start til slut. Bemærk, at det indeholder mange specielle felter. %(HOVED) tilføjer en stjerne ved siden af den aktuelle gren.
Aliaser er en fantastisk måde at eksperimentere med formatering af kommandoer som git-gren. Du udvikler præferencer over tid, så det er et must at holde styr på, hvilke muligheder der producerer dit foretrukne output.
8. Sammenfatning af ændringer efter bidragyder
En variant af git log, git-shortlog grupperer de forpligtelser, den viser efter forfatter. Dette er ideelt til udgivelsesnotater eller bare holde øje med, hvem der har gjort hvad for nylig.
Et par muligheder giver en meget praktisk forfatteroversigt til alle formål, der er perfekt til regelmæssig brug via et alias. Det -e indstilling viser e -mail -adresser ud over navne. Det --Resumé option bare udsender et samlet antal i stedet for emnet for hver forpligtelse. Og - nummereret bestiller det endelige output med det samlede antal bidrag. Du kan bruge dette alias:
alias.contrib 'shortlog -e --summary --nummereret'
For at producere følgende output:
9. Listefilialer sorteret efter sidst ændret
Nu til noget mere arbejde med grene, denne gang ved hjælp af en lavere kommando på lavere niveau. Dette komplicerede alias er et andet eksempel på en ekstern kommando - en pipeline, i dette tilfælde. Først git-for-hver-ref kommandosløjfer gennem alle kendte grene. Det gør det i autoriseret ordre og formaterer output for at vise denne dato sammen med commit hash. Endelig bruger det sed at strippe refs / hoveder / 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 eksempler gør dig til en Linux-strømbruger
10. Et alias til at vise alle aliasser
Med al denne understøttelse af aliasser er det overraskende, at Git ikke tilbyder en nem måde at se alle de aliasser, du har konfigureret. Bare rolig, men du kan ordne det med et alias! Det git config kommando viser alle aktuelle konfigurationer. Du kan filtrere værdier ved hjælp af -få-regexp mulighed, så følgende alias giver dig et nyttigt git alias kommando:
alias.alias 'git config - get-regexp ^ alias.'
Spar tid og frustration med Git -aliasser
Git -aliasser sparer dig tid ved at fjerne behovet for at skrive lange og komplicerede kommandoer. Git har et stort antal underkommandoer, men aliasser er nemme at genbruge og vedligeholde. Du kan endda samle aliaser i dit projekt via lokal konfiguration, så du kan dele genveje og standardpraksis.
Ligesom Linux -aliasser lader Git -aliasser dig skrive mindre og gøre mere. Prøv at eksperimentere med aliaserne ovenfor, og udforsk det fulde Git-kommandosæt for at se de mange tilgængelige funktioner.
Tag din Git-færdighed fra begynder til avanceret med denne omfattende guide.
Læs Næste
- Programmering
- GitHub
- Kodningstip
Bobby er en teknologientusiast, der arbejdede som softwareudvikler i det meste af to årtier. Han brænder for spil, arbejder som Reviews Editor i Switch Player Magazine og er fordybet i alle aspekter af onlineudgivelse og webudvikling.
Abonner på vores nyhedsbrev
Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere