I dette dokumentet vil vi se nærmere på kommandoen git config
. Vi diskuterte kort git config
bruk på vår Sette opp et arkivside. git config
kommandoen er en bekvemmelighetsfunksjon som brukes til å sette Git-konfigurasjonsverdier på et globalt eller lokalt prosjekt nivå. Disse konfigurasjonsnivåene tilsvarer .gitconfig
tekstfiler. Hvis du kjører git config
, endres en konfigurasjonstekstfil. Vi dekker vanlige konfigurasjonsinnstillinger som e-post, brukernavn og redaktør. Vi diskuterer Git-aliaser, som lar deg lage snarveier for ofte brukte Git-operasjoner. Bli kjent med git config
og de forskjellige Git-konfigurasjonsinnstillingene vil hjelpe deg med å lage en kraftig, tilpasset Git-arbeidsflyt .
Bruk
Det mest grunnleggende brukstilfellet for git config
er å påkalle det med et konfigurasjonsnavn, som viser den innstilte verdien ved det navnet. Konfigurasjonsnavn er prikkavgrensede strenger sammensatt av en «seksjon» og en «nøkkel» basert på hierarkiet. For eksempel: user.email
I dette eksemplet er e-post en underegenskap for brukerkonfigurasjonsblokken. Dette vil returnere den konfigurerte e-postadressen, hvis noen, som Git vil knytte til lokalt opprettede forpliktelser.
git config levels and files
Før vi diskuterer videre git config
bruk, la oss ta et øyeblikk for å dekke konfigurasjonsnivåer. Kommandoen git config
kan godta argumenter for å spesifisere hvilket konfigurasjonsnivå du vil operere på. Følgende konfigurasjonsnivåer er tilgjengelige:
-
--local
Som standard er git config
vil skrive til lokalt nivå hvis ingen konfigurasjonsalternativer er bestått. Lokal nivåkonfigurasjon blir brukt på kontekstdatabasen git config
blir påkalt. Lokale konfigurasjonsverdier lagres i en fil som finnes i repo s .git-katalogen: .git/config
-
--global
Konfigurasjon på globalt nivå er bruker- spesifikk, noe som betyr at den brukes på en bruker av et operativsystem. Globale konfigurasjonsverdier lagres i en fil som ligger i brukerens hjemmekatalog. ~ /.gitconfig
på unix-systemer og C:\Users\\.gitconfig
på windows
-
--system
Systemnivåkonfigurasjon brukes over en hel maskin. Dette dekker alle brukere på et operativsystem og alle repoer. Konfigurasjonsfilen på systemnivå lever i en gitconfig
-fil utenfor systemets rotbane. $(prefix)/etc/gitconfig
på unix-systemer. På windows finner du denne filen på C:\Documents and Settings\All Users\Application Data\Git\config
på Windows XP, og i C:\ProgramData\Git\config
i Windows Vista og nyere.
Dermed er prioritetsrekkefølgen for konfigurasjonsnivåer: lokal, global, system. Dette betyr at når vi ser etter en konfigurasjonsverdi, vil Git starte på lokalt nivå og boble opp til systemnivået.
Skrive en verdi
Utvide det vi allerede vet om git config
, la oss se på et eksempel der vi skriver en verdi:
Dette eksemplet skriver verdien til konfigurasjonsnavnet
user.email
. Den bruker --global
-flagget slik at denne verdien er satt for gjeldende operativsystembruker.
git config editor – core.editor
Mange Git-kommandoer vil starte en teksteditor for å be om ytterligere inndata. En av de vanligste bruken tilfeller for git config
konfigurerer hvilken redaktør Git skal bruke. Nedenfor vises en tabell med populære redaktører og samsvarende git config
kommandoer:
Slå sammen verktøy
I tilfelle en sammenslåingskonflikt vil Git starte et «fletteverktøy.» Som standard bruker Git en intern implementering av f det vanlige Unix diff-programmet. Den interne Git-diffen er en minimal seer av sammenslåingskonflikter. Det er mange eksterne konfliktløsninger fra tredjeparter som kan brukes i stedet. For en oversikt over forskjellige fletteverktøy og konfigurasjon, se vår guide om tips og verktøy for å løse sammenhenger med Git.
Fargede utganger
Git støtter farget terminalutgang som hjelper med raskt å lese Git-utdata. Du kan tilpasse Git-utgangen din for å bruke et personlig fargetema. git config
-kommandoen brukes til å angi disse fargeverdiene.
color.ui
Dette er hovedvariabelen for Git-farger. Hvis du setter den til falsk, deaktiveres alle Git’s fargede terminalutganger.
Som standard er color.ui
er satt til auto som vil bruke farger på den umiddelbare terminalutgangsstrømmen.Den automatiske innstillingen vil utelate fargekodeutdata hvis utdatastrømmen blir omdirigert til en fil eller sendt til en annen prosess.
Du kan stille inn verdien color.ui
vil også bruke fargekodeutdata når du omdirigerer utdatastrømmen til filer eller rør. Dette kan utilsiktet forårsake problemer siden mottaksrøret kanskje ikke forventer fargekodet inngang.
Git fargeverdier
I tillegg til color.ui
, det er mange andre granulære fargeinnstillinger. I likhet med color.ui
, kan disse fargeinnstillingene settes til falsk, automatisk eller alltid. Disse fargeinnstillingene kan også ha en spesifikk fargeverdi. Noen eksempler på støttede fargeverdier er:
- normal
- svart
- rød
- grønn
- gul
- blå
- magenta
- cyan
- hvit
Farger kan også spesifiseres som heksadesimale fargekoder som # ff0000, eller ANSI 256 fargeverdier hvis terminalen din støtter det.
Git fargekonfigurasjonsinnstillinger
color.branch
- Konfigurerer utgangsfargen til Git-grenkommandoen
color.branch.
spor >
- Denne verdien gjelder også for Git-grenutdata. spor > er ett av følgende:
- 1. gjeldende: den nåværende grenen
- 2. lokal: en lokal filial
- 3. ekstern: en ekstern grenref i refs / fjernkontroller
- 4. oppstrøms: en oppstrøms sporingsgren
- 5. vanlig: hvilken som helst annen ref
color.diff
- Bruker farger på
git diff
,git log
, oggit show
utgang
color.diff
.slot >
- Konfigurere et spor > verdi under
color.diff
forteller git hvilken del av lappen du skal bruke en bestemt farge på.- 1. kontekst: kontekstteksten til diff. Git-kontekst er linjene med tekstinnhold som vises i en diff eller patch som fremhever endringer.
- 2. vanlig: et synonym for kontekst
- 3. meta: bruker farge på metainformasjonen til diff
- 4. frag: bruker farge på «hunk header» eller «funksjon i hunk header»
- 5. gammel: bruker en farge på de fjernede linjene i diff
- 6. nytt: farger de tilførte linjene i diff
- 7. commit: farger forplikter overskrifter innenfor diff
- 8. mellomrom: angir en farge for eventuelle mellomromfeil i et diff
color.decorate.
spor >
- Tilpass fargen for
git log --decorate
-utdata. Støttede spor > verdier er:branch
,remoteBranch
,tag
,stash
, ellerHEAD
. De gjelder henholdsvis lokale grener, fjernsporende grener, koder, stashede endringer ogHEAD
.
color.grep
- Bruker farge på utgangen av git grep.
color.grep.
spor >
- Gjelder også git grep. Sporet > -variabelen angir hvilken del av grep-utgangen som skal brukes i farger.
- 1. kontekst: ikke samsvarende tekst i kontekstlinjer
- 2. filnavn: filnavnprefiks
- 3. funksjon: funksjonsnavnelinjer
- 4. lin nummer: prefiks for linjenummer
- 5. samsvar: samsvarende tekst
- 6. matchContext: samsvarende tekst i kontekstlinjer
- 7. matchSelected: samsvarende tekst i valgte linjer
- 8. valgt: tekst som ikke samsvarer i valgte linjer
- 9. separator: skilletegn mellom felt på en linje (:, -, og =) og mellom hunks (-)
8. color.interactive
- Denne variabelen bruker farge for interaktive ledetekster og skjermer. Eksempler er
git add --interactive
oggit clean --interactive
9. color.interactive.slot >
- Slot > -variabelen kan spesifiseres for å målrette mer spesifikt » interaktiv utgang «. De tilgjengelige spor > verdiene er: ledetekst, overskrift, hjelp, feil; og hver handler på den tilsvarende interaktive utgangen.
color.pager
- Aktiverer eller deaktiverer farget utskrift når personsøkeren er i bruk
color.showBranch
- Aktiverer eller deaktiverer fargeutgang for kommandoen git show branch
12. color.status
- En boolsk verdi som aktiverer eller deaktiverer fargeutgang for Git-status
13. color.status.slot
>
Brukes til å spesifisere tilpasset farge for spesifiserte git-statuselementer. spor > støtter følgende verdier:
- 1.header
- Målretter overskriftsteksten til statusområdet
- 2. lagt til eller oppdatert
- Begge målfilene som legges til men ikke forpliktes
-
3. changed
- Målretter mot filer som er endret, men ikke lagt til git-indeksen
- 4. untracked
- Målretter filer som ikke spores av Git
- 5. gren
- Bruker farge på den nåværende grenen
- 6. nobranch
- Fargen «ingen gren» -varselen vises i
- 7. unmerged
- Fargefiler som har unmerged endringer
Aliaser
Du kan være kjent med begrepet aliaser fra operativsystemets kommandolinje; hvis ikke, er de egendefinerte snarveier som definerer hvilken kommando som skal utvides til lengre eller kombinerte kommandoer. Aliaser sparer deg tid og energikostnad ved å skrive ofte brukte kommandoer. Git tilbyr sitt eget alias-system. kommandoen commit. Git-aliaser lagres i Git-konfigurasjonsfiler. Dette betyr at du kan bruke kommandoen git config
til å konfigurere aliaser.
Dette eksemplet oppretter et ci-alias for kommandoen git commit
. Du kan deretter påberope git commit
ved å utføre git ci
. Aliaser kan også referere til andre aliaser for å skape kraftige kombinasjoner.
Dette eksemplet oppretter et aliasendring som komponerer ci alias til et nytt alias som bruker --amend flag
.
Formatering & hvitt mellomrom
Git har flere «mellomrom» -funksjoner som kan konfigureres til å markere mellomrom problemer når du bruker git diff. Problemer med hvite mellomrom blir uthevet ved hjelp av den konfigurerte fargen color.diff.whitespace
Følgende funksjoner er aktivert som standard:
-
blank-at-eol
fremhever foreldreløse hvite mellomrom ved linjeavslutningene -
space-before-tab
fremhever et mellomromstegn som vises foran et fanetegn når innrykk på en linje -
blank-at-eof
fremhever tomme linjer satt inn på slutten av en fil
Følgende funksjoner er deaktivert som standard
-
indent-with-non-tab
fremhever en linje som er innrykket med mellomrom i stedet for faner -
tab-in-indent
fremhever en innledende faneinnrykk som en feil -
trailing-space
er forkortelse for både blank-at-eol og blank-at-eof -
cr-at-eol highlights
en vognretur ved linjeavslutningene -
tabwidth=
definerer hvor mange tegnposisjoner en fane opptar. Standardverdien er 8. Tillatte verdier er 1-63
Sammendrag
I denne artikkelen dekket vi bruken av git config command
. Vi diskuterte hvordan kommandoen er en overbevisningsmetode for redigering av rå git config
filer på filsystemet. Vi så på grunnleggende lese- og skriveoperasjoner for konfigurasjonsalternativer. Vi tok en titt på vanlige konfigurasjonsmønstre:
- Slik konfigurerer du Git-editoren
- Slik overstyrer du konfigurasjonsnivåer
- Hvordan tilbakestiller du konfigurasjonsstandardene
- Slik tilpasser du gitfarger
Samlet sett er git config
et hjelperverktøy som gir en snarvei til redigering av rå git config
filer på disken. Vi dekket grundige personlige tilpasningsalternativer. Grunnleggende kunnskap om git-konfigurasjonsalternativer er en forutsetning for å sette opp et depot. Se guiden vår der for en demonstrasjon av det grunnleggende.