I dette dokument vil vi “se nærmere på kommandoen git config
. Vi diskuterede kort git config
brug på vores Opsætning af en arkivside. git config
kommandoen er en bekvemhedsfunktion, der bruges til at indstille Git-konfigurationsværdier på et globalt eller lokalt projekt niveau. Disse konfigurationsniveauer svarer til .gitconfig
tekstfiler. Udførelse af git config
vil ændre en konfigurationstekstfil. Vi dækker almindelige konfigurationsindstillinger som e-mail, brugernavn og editor. Vi diskuterer Git-aliaser, som giver dig mulighed for at oprette genveje til ofte anvendte Git-operationer. Bliv fortrolig med git config
og de forskellige Git-konfigurationsindstillinger hjælper dig med at oprette en kraftfuld, tilpasset Git-workflow .
Anvendelse
Den mest basale brugssag til git config
er at påkalde det med et konfigurationsnavn, der viser den indstillede værdi ved dette navn. Konfigurationsnavne er punktafgrænsede strenge sammensat af en “sektion” og en “nøgle” baseret på deres hierarki. For eksempel: user.email
I dette eksempel er e-mail en underegenskab for brugerkonfigurationsblokken. Dette returnerer den konfigurerede e-mail-adresse, hvis nogen, som Git vil knytte til lokalt oprettede forpligtelser.
git-konfigurationsniveauer og filer
Før vi yderligere diskuterer git config
-brug, lad os tage et øjeblik til at dække konfigurationsniveauer. Kommandoen git config
kan acceptere argumenter for at specificere, hvilket konfigurationsniveau der skal bruges. Følgende konfigurationsniveauer er tilgængelige:
-
--local
Som standard er git config
skriver til et lokalt niveau, hvis ingen konfigurationsmuligheder er godkendt. Konfiguration på lokalt niveau anvendes på kontekstlageret git config
påberåbes. Lokale konfigurationsværdier gemmes i en fil, der kan findes i repos “s .git-bibliotek: .git/config
-
--global
Konfiguration på globalt niveau er bruger- specifik, hvilket betyder, at den anvendes på en operativsystembruger. Globale konfigurationsværdier gemmes i en fil, der er placeret i en brugers hjemmekatalog. ~ /.gitconfig
på unix-systemer og C:\Users\\.gitconfig
på windows
-
--system
Konfiguration på systemniveau anvendes på en hel maskine. Dette dækker alle brugere på et operativsystem og alle repos. Konfigurationsfilen på systemniveau lever i en gitconfig
-fil fra systemets rodsti. $(prefix)/etc/gitconfig
på unix-systemer. På windows findes denne fil 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.
Prioritetsrækkefølgen for konfigurationsniveauer er således: lokal, global, system. Dette betyder, at når vi leder efter en konfigurationsværdi, starter Git på lokalt niveau og bobler op til systemniveauet.
Skrivning af en værdi
Udvidelse på det, vi allerede ved om git config
, lad os se på et eksempel, hvor vi skriver en værdi:
Dette eksempel skriver værdien til konfigurationsnavnet
user.email
. Den bruger --global
flag, så denne værdi er indstillet til den nuværende operativsystembruger.
git config editor – core.editor
Mange Git-kommandoer starter en teksteditor for at bede om yderligere input. En af de mest almindelige anvendelser sager til git config
konfigurerer, hvilken editor Git skal bruge. Nedenfor vises en tabel med populære redaktører og matchende git config
kommandoer:
Fletværktøjer
I tilfælde af en fletkonflikt lancerer Git et “fletningsværktøj.” Som standard bruger Git en intern implementering o f det fælles Unix diff-program. Den interne Git diff er en minimal sammenlægning af konfliktvisere. Der er mange eksterne tredjepartsflette konfliktløsninger, der kan bruges i stedet. For en oversigt over forskellige fletteværktøjer og konfiguration, se vores guide til tip og værktøjer til løsning af sammenstød med Git.
Farvede output
Git understøtter farvet terminaloutput, som hjælper med hurtig aflæsning af Git-output. Du kan tilpasse dit Git-output til at bruge et personlig farvetema. Kommandoen git config
bruges til at indstille disse farveværdier.
color.ui
Dette er hovedvariablen for Git-farver. Hvis du indstiller den til falsk, deaktiveres al Git “s farvede terminaloutput.
Som standard color.ui
er indstillet til auto, som vil anvende farver til den umiddelbare terminaludgangsstrøm.Den automatiske indstilling udelader output af farvekoder, hvis outputstrømmen omdirigeres til en fil eller sendes til en anden proces.
Du kan indstille color.ui
-værdien til altid, hvilken vil også anvende farvekodeoutput, når omdirigere outputstrømmen til filer eller rør. Dette kan utilsigtet give problemer, da det modtagende rør muligvis ikke forventer farvekodet input.
Git farveværdier
Ud over color.ui
, der er mange andre granulære farveindstillinger. Ligesom color.ui
kan disse farveindstillinger alle indstilles til falsk, automatisk eller altid. Disse farveindstillinger kan også have en bestemt farveværdi indstillet. Nogle eksempler på understøttede farveværdier er:
- normal
- sort
- rød
- grøn
- gul
- blå
- magenta
- cyan
- hvid
Farver kan også angives som hexadecimale farvekoder som # ff0000 eller ANSI 256 farveværdier, hvis din terminal understøtter det.
Git farvekonfigurationsindstillinger
color.branch
- Konfigurerer outputfarven på Git-grenkommandoen
color.branch.
slot >
- Denne værdi gælder også for Git branch-output. slot > er en af følgende:
- 1. nuværende: den aktuelle gren
- 2. lokal: en lokal afdeling
- 3. fjernbetjening: en fjern gren ref i refs / fjernbetjeninger
- 4. opstrøms: en opstrøms sporingsgren
- 5. almindelig: enhver anden ref
color.diff
- Bruger farver til
git diff
,git log
oggit show
output
color.diff
.slot >
- Konfiguration af et slot > værdi under
color.diff
fortæller git hvilken del af plasteret der skal bruges en bestemt farve til.- 1. kontekst: Kontekstteksten til diff. Git-kontekst er linjerne med tekstindhold, der vises i en diff eller patch, der fremhæver ændringer.
- 2. almindelig: et synonym for kontekst
- 3. meta: anvender farve til metainformationen for diff
- 4. frag: anvender farve til “hunk header” eller “funktion i hunk header”
- 5. gammel: anvender en farve på de fjernede linjer i diff
- 6. nyt: farver de tilføjede linjer i diff
- 7. begå: farver forpligte overskrifter inden for diff
- 8. hvidt mellemrum: indstiller en farve til eventuelle hvide mellemrumsfejl i en diff
color.decorate.
slot >
- Tilpas farven til
git log --decorate
output. Den understøttede plads > -værdier er:branch
,remoteBranch
,tag
,stash
ellerHEAD
. De gælder henholdsvis for lokale grene, fjernsporing af grene, tags, stashede ændringer ogHEAD
.
color.grep
- Bruger farve til output af git grep.
color.grep.
slot >
- Gælder også for git grep. Slot > -variablen angiver, hvilken del af grep-output, der skal anvendes farve.
- 1. kontekst: ikke-matchende tekst i kontekstlinjer
- 2. filnavn: filnavnpræfiks
- 3. funktion: funktionsnavnelinjer
- 4. linned: linjenummer præfiks
- 5. match: matchende tekst
- 6. matchContext: matchende tekst i kontekstlinjer
- 7. matchSelected: matchende tekst i valgte linjer
- 8. valgt: ikke-matchende tekst i valgte linjer
- 9. separator: separatorer mellem felter på en linje (:, – og =) og mellem hunks (-)
8. color.interactive
- Denne variabel anvender farve til interaktive meddelelser og displays. Eksempler er
git add --interactive
oggit clean --interactive
9. color.interactive.slot >
- Slot > -variablen kan specificeres for at målrette mere specifikt ” interaktiv udgang “. De tilgængelige slot > værdier er: prompt, header, help, error; og hver handler på det tilsvarende interaktive output.
color.pager
- Aktiverer eller deaktiverer farvet output, når personsøgeren er i brug
color.showBranch
- Aktiverer eller deaktiverer farveoutput for kommandoen git show branch
12. color.status
- En boolsk værdi, der aktiverer eller deaktiverer farveoutput for Git-status
13. color.status.slot
>
Bruges til at specificere brugerdefineret farve til specificerede git-statuselementer. slot > understøtter følgende værdier:
- 1.header
- Målretter headerteksten i statusområdet
- 2. tilføjet eller opdateret
- Begge målfiler, der tilføjes, men ikke forpligtes
-
3. changed
- Målretter mod filer, der er ændret, men ikke tilføjet til git-indekset
- 4. ikke-sporet
- Målretter mod filer, der ikke spores af Git
- 5. gren
- Anvender farve på den aktuelle gren
- 6. nobranch
- Farven advarslen “ingen gren” vises i
- 7. unmerged
- Farver filer, der har unmerged ændringer
Aliaser
Du er muligvis bekendt med begrebet aliaser fra dit operativsystems kommandolinje; hvis ikke, er de brugerdefinerede genveje, der definerer, hvilken kommando der udvides til længere eller kombinerede kommandoer. Aliaser sparer dig tid og energiomkostninger ved at skrive ofte anvendte kommandoer. Git leverer sit eget aliassystem. En almindelig brugssag for Git-aliaser er at forkorte kommitoen commit. Git-aliaser gemmes i Git-konfigurationsfiler. Det betyder, at du kan bruge kommandoen git config
til at konfigurere aliasser.
Dette eksempel opretter et ci-alias til kommandoen git commit
. Du kan derefter påberåbe git commit
ved at udføre git ci
. Aliaser kan også henvise til andre aliaser for at oprette kraftige kombinationer.
Dette eksempel opretter et alias-ændring, der sammensætter ci-alias til et nyt alias, der bruger --amend flag
.
Formatering & hvidt mellemrum
Git har flere “hvide mellemrum” -funktioner, der kan konfigureres til at fremhæve hvidt mellemrum problemer, når du bruger git diff. Problemer med det hvide område fremhæves ved hjælp af den konfigurerede farve color.diff.whitespace
Følgende funktioner er som standard aktiveret:
-
blank-at-eol
fremhæver forældreløse hvide mellemrum ved linieenderne -
space-before-tab
fremhæver et mellemrumstegn, der vises foran et tabulatortegn, når man indrykker en linje -
blank-at-eof
fremhæver tomme linjer indsat i slutningen af en fil
Følgende funktioner er som standard deaktiveret
-
indent-with-non-tab
fremhæver en linje, der er indrykket med mellemrum i stedet for faner -
tab-in-indent
fremhæver en indledende faneindryk som en fejl -
trailing-space
er stenografi for både blank-at-eol og blank-at-eof -
cr-at-eol highlights
en vognretur ved linieenderne -
tabwidth=
definerer, hvor mange tegnpositioner en fane indtager. Standardværdien er 8. Tilladte værdier er 1-63
Oversigt
I denne artikel dækkede vi brugen af git config command
. Vi diskuterede, hvordan kommandoen er en overbevisningsmetode til redigering af rå git config
-filer på filsystemet. Vi kiggede på grundlæggende læse- og skriveoperationer for konfigurationsmuligheder. Vi kiggede på almindelige konfigurationsmønstre:
- Sådan konfigureres Git-editoren
- Sådan tilsidesættes konfigurationsniveauer
- Sådan nulstilles konfigurationsstandarder
- Sådan tilpasses gitfarver
Samlet set er git config
et hjælpeværktøj, der giver en genvej til redigering af rå git config
filer på disken. Vi dækkede dybtgående personlige tilpasningsmuligheder. Grundlæggende viden om git-konfigurationsindstillinger er en forudsætning for at oprette et lager. Se vores guide der for en demonstration af det grundlæggende.