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 logoggit showoutput
color.diff .slot >
- Konfiguration af et slot > værdi under
color.difffortæ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 --decorateoutput. Den understøttede plads > -værdier er:branch,remoteBranch,tag,stashellerHEAD. 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 --interactiveoggit 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-eolfremhæver forældreløse hvide mellemrum ved linieenderne -
space-before-tabfremhæver et mellemrumstegn, der vises foran et tabulatortegn, når man indrykker en linje -
blank-at-eoffremhæver tomme linjer indsat i slutningen af en fil
Følgende funktioner er som standard deaktiveret
-
indent-with-non-tabfremhæver en linje, der er indrykket med mellemrum i stedet for faner -
tab-in-indentfremhæver en indledende faneindryk som en fejl -
trailing-spaceer stenografi for både blank-at-eol og blank-at-eof -
cr-at-eol highlightsen 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.