I det här dokumentet kommer vi ”att ta en djupgående titt på git config
kommandot. Vi diskuterade kort git config
användning på vår inställning av en arkivsida. Kommandot git config
är en bekvämlighetsfunktion som används för att ställa in Git-konfigurationsvärden för ett globalt eller lokalt projekt Dessa konfigurationsnivåer motsvarar .gitconfig
textfiler. Genom att köra git config
ändras en konfigurationstextfil. Vi kommer att täcka vanliga konfigurationsinställningar som e-post, användarnamn och redigerare. Vi kommer att diskutera Git-alias som gör att du kan skapa genvägar för ofta använda Git-operationer. Bli bekant med git config
och de olika Git-konfigurationsinställningarna hjälper dig att skapa ett kraftfullt, anpassat Git-arbetsflöde .
Användning
Det mest grundläggande användningsfallet för git config
är att åberopa det med ett konfigurationsnamn som visar det inställda värdet vid det namnet. Konfigurationsnamnen är punktavgränsade strängar som består av en ”sektion” och en ”nyckel” baserat på deras hierarki. Till exempel: user.email
I det här exemplet är e-post en underegenskap för användarkonfigurationsblocket. Detta returnerar den konfigurerade e-postadressen, om någon, som Git associerar med lokalt skapade åtaganden.
git konfigurationsnivåer och filer
Innan vi ytterligare diskuterar git config
användning, låt oss ta en stund att täcka konfigurationsnivåer. Kommandot git config
kan acceptera argument för att ange vilken konfigurationsnivå som ska användas. Följande konfigurationsnivåer är tillgängliga:
-
--local
Som standard git config
skriver till en lokal nivå om inget konfigurationsalternativ passeras. Lokal nivåkonfiguration tillämpas på kontextförvaret git config
anropas. Lokala konfigurationsvärden lagras i en fil som finns i repos s .git-katalog: .git/config
-
--global
Global nivåkonfiguration är användar- specifikt, vilket innebär att den tillämpas på en operativsystemanvändare. Globala konfigurationsvärden lagras i en fil som finns i en användares hemkatalog. ~ /.gitconfig
på unix-system och C:\Users\\.gitconfig
på windows
-
--system
Systemnivåkonfiguration tillämpas på en hel maskin. Detta täcker alla användare i ett operativsystem och alla repor. Konfigurationsfilen för systemnivån lever i en gitconfig
-fil utanför systemets rotväg. $(prefix)/etc/gitconfig
på unix-system. I Windows finns den här filen på C:\Documents and Settings\All Users\Application Data\Git\config
i Windows XP och i C:\ProgramData\Git\config
i Windows Vista och senare.
Prioritetsordningen för konfigurationsnivåerna är således: lokal, global, system. När du letar efter ett konfigurationsvärde kommer Git att börja på lokal nivå och bubbla upp till systemnivån.
Skriva ett värde
Utöka det vi redan vet om git config
, låt oss titta på ett exempel där vi skriver ett värde:
Detta exempel skriver värdet till konfigurationsnamnet
user.email
. Den använder --global
-flaggan så detta värde är inställd för den aktuella operativsystemanvändaren.
git config editor – core.editor
Många Git-kommandon startar en textredigerare för att be om ytterligare inmatning. En av de vanligaste användningarna fall för git config
konfigurerar vilken redaktör Git ska använda. Nedan listas en tabell med populära redaktörer och matchande git config
kommandon:
Sammanfoga verktyg
I händelse av en sammanslagningskonflikt kommer Git att starta ett ”sammanslagningsverktyg.” Som standard använder Git en intern implementering o f det gemensamma Unix diff-programmet. Den interna Git diff är en minimal sammanfogningskonfliktvisare. Det finns många externa konfliktlösningar från tredje part som kan användas istället. För en översikt över olika sammanslagningsverktyg och konfiguration, se vår guide om tips och verktyg för att lösa konflikter med Git.
Färgade utgångar
Git stöder färgad terminalutgång som hjälper till att snabbt läsa Git-utdata. Du kan anpassa din Git-utgång för att använda ett personligt färgtema. Kommandot git config
används för att ställa in dessa färgvärden.
color.ui
Detta är huvudvariabeln för Git-färger. Om du ställer in den på falsk inaktiveras all Git ”färgad terminalutgång.
Som standard color.ui
är inställt på auto som tillämpar färger på den direkta terminalutmatningsströmmen.Den automatiska inställningen utelämnar utmatning av färgkod om utdataströmmen omdirigeras till en fil eller skickas till en annan process.
Du kan ställa in värdet color.ui
kommer också att använda färgkodsutmatning när omdirigera utdataströmmen till filer eller rör. Detta kan oavsiktligt orsaka problem eftersom det mottagande röret kanske inte förväntar sig färgkodad inmatning.
Git färgvärden
Förutom color.ui
, det finns många andra granulära färginställningar. Liksom color.ui
kan alla dessa färginställningar ställas in på falskt, automatiskt eller alltid. Dessa färginställningar kan också ha ett specifikt färgvärde. Några exempel på färgvärden som stöds är:
- normal
- svart
- röd
- grön
- gul
- blå
- magenta
- cyan
- vit
Färger kan också anges som hexadecimala färgkoder som # ff0000 eller ANSI 256 färgvärden om din terminal stöder det.
Git färgkonfigurationsinställningar
color.branch
- Konfigurerar utdatafärgen för Git-grenkommandot
color.branch.
-plats >
- Detta värde gäller även för Git-grenutdata. kortplats > är något av följande:
- 1. aktuell: nuvarande gren
- 2. lokal: en lokal filial
- 3. fjärrkontroll: en fjärrgren ref i ref / fjärrkontroll
- 4. uppströms: en spårningsfilial uppströms
- 5. vanlig: alla andra ref
color.diff
- Tillämpar färger på
git diff
,git log
ochgit show
utdata
color.diff
.slot >
- Konfigurera en plats > värde under
color.diff
berättar git vilken del av plåstret du vill använda en viss färg på.- 1. context: Kontexttexten för diff. Git-sammanhang är raderna med textinnehåll som visas i en diff eller patch som belyser förändringar.
- 2. vanlig: en synonym för sammanhang
- 3. meta: tillämpar färg på metainformationen för diff
- 4. frag: tillämpar färg på ”hunk header” eller ”function in hunk header”
- 5. gammal: applicerar en färg på de borttagna raderna i diff
- 6. ny: färgar de tillagda raderna i diff
- 7. commit: färger begår rubriker inom diff
- 8. mellanslag: ställer in en färg för alla mellanslagsfel i en diff
color.decorate.
-plats >
- Anpassa färgen för
git log --decorate
-utdata. > -värden som stöds är:branch
,remoteBranch
,tag
,stash
ellerHEAD
. De är respektive tillämpliga på lokala filialer, fjärrspårningsfilialer, taggar, stashade ändringar ochHEAD
.
color.grep
- Tillämpar färg på utdata från git grep.
color.grep.
kortplats >
- Gäller även git grep. Slot > -variabeln anger vilken del av grep-utmatningen som ska användas i färg.
- 1. sammanhang: text som inte matchar i kontextrader
- 2. filnamn: filnamnsprefix
- 3. funktion: funktionsnamnsrader
- 4. linnummer: radnummerprefix
- 5. match: matchande text
- 6. matchContext: matchande text i kontextrader
- 7. matchSelected: matchande text i valda rader
- 8. vald: text som inte matchar i valda rader
- 9. separator: separatorer mellan fält på en rad (:, – och =) och mellan hunks (-)
8. color.interactive
- Denna variabel tillämpar färg för interaktiva uppmaningar och skärmar. Exempel är
git add --interactive
ochgit clean --interactive
9. color.interactive.slot >
- Slot > variabeln kan specificeras för att rikta in sig mer specifikt ” interaktiv utgång ”. De tillgängliga värdena för > är: prompt, header, help, error; och varje agerar på motsvarande interaktiva utdata.
color.pager
- Aktiverar eller inaktiverar färgad utskrift när personsökaren används
color.showBranch
- Aktiverar eller inaktiverar färgutdata för kommandot för git showgren
12. color.status
- Ett booleskt värde som aktiverar eller inaktiverar färgutdata för Git-status
13. color.status.slot
>
Används för att ange anpassad färg för angivna git-statuselement. kortplats > stöder följande värden:
- 1.rubrik
- Riktar in rubriktexten i statusområdet
- 2. lagt till eller uppdaterat
- Båda målfilerna som läggs till men inte begås
-
3. changed
- Riktar in filer som har modifierats men inte lagts till gitindex
- 4. ospårad
- Riktar in filer som inte spåras av Git
- 5. gren
- Tillämpar färg på aktuell gren
- 6. nobranch
- Färgen varningen ”ingen gren” visas i
- 7. unmerged
- Färgfiler som har unmerged ändringar
Alias
Du kanske känner till begreppet alias från ditt operativsystems kommandorad; om inte, är de anpassade genvägar som definierar vilket kommando som ska expanderas till längre eller kombinerade kommandon. Alias sparar tid och energikostnad för att skriva kommandon som ofta används. Git tillhandahåller sitt eget aliasystem. Ett vanligt användningsfall för Git-alias är förkortning kommandot commit. Git-alias lagras i Git-konfigurationsfiler. Detta innebär att du kan använda kommandot git config
för att konfigurera alias.
Detta exempel skapar ett ci-alias för kommandot git commit
. Du kan sedan anropa git commit
genom att köra git ci
. Alias kan också hänvisa till andra alias för att skapa kraftfulla kombinationer.
Detta exempel skapar en aliasändring som består av ci-alias till ett nytt alias som använder --amend flag
.
Formatering & tomt utrymme
Git har flera ”blanksteg” -funktioner som kan konfigureras för att markera mellanslag problem när du använder git diff. Problemen i det vita utrymmet kommer att markeras med den konfigurerade färgen color.diff.whitespace
Följande funktioner är aktiverade som standard:
-
blank-at-eol
framhäver föräldralösa vita utrymmen vid radsluten -
space-before-tab
markerar ett mellanslagstecken som visas framför ett flikkaraktär när du drar en rad -
blank-at-eof
markerar tomma rader infogade i slutet av en fil
Följande funktioner är inaktiverade som standard
-
indent-with-non-tab
markerar en rad som är indragen med mellanslag istället för flikar -
tab-in-indent
markerar en initial flik indrag som ett fel -
trailing-space
är förkortning för både blank-at-eol och blank-at-eof -
cr-at-eol highlights
en vagnretur vid radändarna -
tabwidth=
definierar hur många teckenpositioner en flik upptar. Standardvärdet är 8. Tillåtna värden är 1-63
Sammanfattning
I den här artikeln behandlade vi användningen av git config command
. Vi diskuterade hur kommandot är en övertygande metod för att redigera rå git config
-filer i filsystemet. Vi tittade på grundläggande läs- och skrivoperationer för konfigurationsalternativ. Vi tittade på vanliga konfigurationsmönster:
- Så här konfigurerar du Git-redigeraren
- Hur man åsidosätter konfigurationsnivåer
- Hur man återställer konfigurationsinställningarna
- Hur man anpassar git-färger
Sammantaget är git config
ett hjälpverktyg som ger en genväg till redigering av raw git config
filer på disken. Vi behandlade personliga anpassningsalternativ på djupet. Grundläggande kunskap om git-konfigurationsalternativ är en förutsättning för att skapa ett förvar. Se vår guide där för en demonstration av grunderna.