Svenska ▾ Topics ▾ Latest version ▾ git-config last updated in 2.53.0

NAMN

git-config - Hämta och ange kodförråd eller globala alternativ

SYNOPSIS

git config list [<fil-flaggor>] [<visningsalternativ] [--includes]
git config get [<fil-flaggor>] [<visningsalternativ>] [--includes] [--all] [--regexp] [--value=<mönster>] [--fixed-value] [--default=<standard>] [--url=<url>] <namn>
git config set [<fil-flaggor>] [--type=<typ>] [--all] [--value=<mönster>] [--fixed-value] <namn> <värde>
git config unset [<fil-flaggor>] [--all] [--value=<mönster>] [--fixed-value] <namn>
git config rename-section [<fil-flaggor>] <gammalt-namn> <nytt-namn>
git config remove-section [<fil-flaggor>] <namn>
git config edit [<fil-flaggor>]
git config [<file-option>] --get-colorbool <namn> [<stdout-is-tty>]

BESKRIVNING

Du kan söka efter/ställa in/ersätta/avaktivera alternativ med det här kommandot. Namnet är egentligen sektionen och nyckeln separerade med en punkt, och värdet kommer att vara ett escape-tecken.

Flera rader kan läggas till i ett alternativ med hjälp av alternativet --append. Om du vill uppdatera eller avaktivera ett alternativ som kan förekomma på flera rader, behöver --value=<mönster> (vilket är ett utökat reguljärt uttryck, såvida inte alternativet --fixed-value anges) anges. Endast de befintliga värden som matchar mönstret uppdateras eller avaktiveras. Om du vill hantera de rader som inte matchar mönstret, lägg bara till ett utropstecken framför (se även EXEMPEL), men observera att detta bara fungerar när alternativet --fixed-value inte används.

Alternativet --type=<typ> instruerar git config att säkerställa att inkommande och utgående värden kan kanoniseras under den givna <typen>. Om ingen --type=<typ> anges kommer ingen kanonisering att utföras. Anropare kan avaktivera en befintlig --type-specifikation med --no-type.

Vid läsning läses värdena som standard från system-, globala och lokala konfigurationsfiler för förvaret, och alternativen --system, --global, --local, --worktree och --file <filnamn> kan användas för att ange att kommandot ska läsa endast från den platsen (se FILER).

Vid skrivning, skrivs det nya värdet som standard till den lokala konfigurationsfilen för repot, och alternativen --system, --global, --worktree, --file <filnamn> kan användas för att ange att kommandot ska skriva till den platsen (du kan säga --local men det är standardvärdet).

Det här kommandot kommer att misslyckas med status som inte är noll vid fel. Några avslutningskoder är:

  • Avsnittet eller nyckeln är ogiltig (ret=1),

  • inget avsnitt eller namn angavs (ret=2),

  • konfigurationsfilen är ogiltig (ret=3),

  • konfigurationsfilen kan inte skrivas (ret=4),

  • du försöker avaktivera ett alternativ som inte finns (ret=5),

  • du försöker avaktivera/aktivera ett alternativ som flera rader matchar för (ret=5), eller

  • Du försöker använda ett ogiltigt regexp (ret=6).

Vid lyckat resultat, returnerar kommandot avslutningskoden 0.

En lista över alla tillgängliga konfigurationsvariabler kan erhållas med hjälp av kommandot git help --config.

KOMMANDON

list

Lista alla variabler som är inställda i konfigurationsfilen, tillsammans med deras värden.

get

Avger värdet för den angivna nyckeln. Om nyckeln finns flera gånger i konfigurationen avges det sista värdet. Om --all anges avges alla värden som är associerade med nyckeln. Returnerar felkod 1 om nyckeln inte finns.

set

Ange värde för ett eller flera konfigurationsalternativ. Som standard vägrar det här kommandot att skriva flervärdeskonfigurationsalternativ. Om --all skickas ersätts alla flervärdeskonfigurationsalternativ med det nya värdet, medan --value= ersätter alla konfigurationsalternativ vars värden matchar det givna mönstret.

unset

Avaktivera värde för ett eller flera konfigurationsalternativ. Som standard vägrar det här kommandot att avaktivera flervärdesnycklar. Om --all skickas avaktiveras alla flervärdeskonfigurationsalternativ, medan --value avaktiverar alla konfigurationsalternativ vars värden matchar det givna mönstret.

rename-section

Byt namn på det angivna avsnittet till ett nytt namn.

remove-section

Ta bort det angivna avsnittet från konfigurationsfilen.

edit

Öppnar en editor för att ändra den angivna konfigurationsfilen; antingen --system, --global, --local (standard), --worktree eller --file <konfigurationsfil>.

ALTERNATIV

--replace-all

Standardbeteendet är att ersätta högst en rad. Detta ersätter alla rader som matchar nyckeln (och valfritt --value=<mönster>).

--append

Lägger till en ny rad i alternativet utan att ändra några befintliga värden. Detta är samma sak som att ange --value=^$ i set.

--comment <meddelande>

Lägg till en kommentar i slutet av nya eller ändrade rader.

Om <meddelande> börjar med ett eller flera blanksteg följt av "" används det som det är. Om det börjar med "" läggs ett mellanslag till innan det används. Annars läggs en sträng " # " (ett mellanslag följt av en hash följt av ett mellanslag) till. Och den resulterande strängen placeras omedelbart efter det värde som definierats för variabeln. <meddelande> får inte innehålla radmatningstecken (inga kommentarer med flera rader är tillåtna).

--all

Med get returnerar du alla värden för en nyckel med flera värden.

--regexp

Med get tolkas namnet som ett reguljärt uttryck. Matchning av reguljära uttryck är för närvarande skiftlägeskänsligt och görs mot en kanonialiserad version av nyckeln där sektions- och variabelnamn är gemener, men undersektionsnamn inte.

--url=<URL>

När ett tvådelat <namn> anges som <sektion>.<nyckel>, returneras värdet för <sektion>.<URL>.<nyckel> vars <URL>-del bäst matchar den angivna URL:en (om ingen sådan nyckel finns används värdet för <sektion>.<nyckel> som reserv). När endast <sektion> anges som namn, gör det för alla nycklar i sektionen och lista dem. Returnerar felkod 1 om inget värde hittas.

--global

För skrivalternativ: skriv till den globala ~/.gitconfig-filen istället för arkivet .git/config, skriv till $XDG_CONFIG_HOME/git/config-filen om den här filen finns och ~/.gitconfig-filen inte gör det.

För läsalternativ: läs endast från global ~/.gitconfig och från $XDG_CONFIG_HOME/git/config snarare än från alla tillgängliga filer.

Se även FILER.

--system

För skrivalternativ: skriv till systemomfattande $(prefix)/etc/gitconfig istället för kodförrådets .git/config.

För läsalternativ: läs endast från systemomfattande $(prefix)/etc/gitconfig snarare än från alla tillgängliga filer.

Se även FILER.

--local

För skrivalternativ: skriv til kodförrådets .git/config-fil. Detta är standardbeteendet.

För läsalternativ: läs endast från arkivet .git/config snarare än från alla tillgängliga filer.

Se även FILER.

--worktree

Liknar --local förutom att $GIT_DIR/config.worktree läses från eller skrivs till om extensions.worktreeConfig är aktiverat. Om inte är det samma sak som --local. Observera att $GIT_DIR är lika med $GIT_COMMON_DIR för det huvudsakliga arbetskatalog, men har formen $GIT_DIR/worktrees/<id>/ för andra arbetsträd. Se git-worktree[1] för att lära dig hur man aktiverar extensions.worktreeConfig.

-f <<konfigurationsfil>
--file <c<konfigurationsfil>

För skrivalternativ: skriv till den angivna filen istället för kodförrådet .git/config.

För läsalternativ: läs endast från den angivna filen istället för från alla tillgängliga filer.

Se även FILER.

--blob <blob>

Liknar --file men använd den givna blobben istället för en fil. Du kan t.ex. använda master:.gitmodules för att läsa värden från filen .gitmodules i master-grenen. Se avsnittet "SPECIFICERING AV REVISIONER" i gitrevisions[7] för en mer komplett lista över sätt att stava blobbnamn.

--value=<mönster>
--no-value

Med get, set och unset, matchas endast mot <mönster>. Mönstret är ett utökat reguljärt uttryck om inte --fixed-value anges.

Använd --no-value för att avaktivera <mönster>.

--fixed-value

När det används med --value=<mönster>, behandla <mönster> som en exakt sträng istället för ett reguljärt uttryck. Detta begränsar namn/värde-paren som matchas till endast de där värdet är exakt lika med <mönster>.

--type <typ>

git config säkerställer att all in- eller utdata är giltig under den/de givna typbegränsningen/-begränsningarna, och kanoniserar utgående värden i `<typ>`s kanoniska form.

Valid <typ>'s include:

  • bool: kanonisera värdena true, yes, on och positiva tal som "true", och värdena false, no, off och 0 som "false".

  • int: kanoniserar värden som enkla decimaltal. Ett valfritt suffix av k, m eller g gör att värdet multipliceras med 1024, 1048576 eller 1073741824 vid inmatning.

  • bool-or-int: kanonisera enligt antingen bool eller int, som beskrivits ovan.

  • path: kanonisera genom att expandera ett inledande ~ till värdet $HOME och ~user till hemkatalogen för den angivna användaren. Denna specificeraren har ingen effekt när värdet anges (men du kan använda git config section.variable ~/ från kommandoraden för att låta ditt shell utföra expansionen.)

  • expiry-date: kanonisera genom att konvertera från en fast eller relativ datumsträng till en tidsstämpel. Denna specifikation har ingen effekt när värdet anges.

  • color: När ett värde hämtas, kanonisera genom att konvertera till en ANSI-färg escape-sekvens. När ett värde anges utförs en rimlighetskontroll för att säkerställa att det givna värdet kan kanoniseras som en ANSI-färg, men att det skrivs som det är.

--bool
--int
--bool-or-int
--path
--expiry-date

Historiska alternativ för att välja en typspecifikation. Föredra istället --type (se ovan).

--no-type

Avaktiverar den tidigare angivna typspecifikationen (om en sådan tidigare angavs). Detta alternativ begär att git config inte kanoniserar den hämtade variabeln. --no-type har ingen effekt utan --type=<typ> eller --<typ>.

-z
--null

För alla alternativ som matar ut värden och/eller nycklar, avsluta alltid värden med null-tecknet (istället för en nyrad). Använd istället nyrad som avgränsare mellan nyckel och värde. Detta möjliggör säker parsning av utdata utan att bli förvirrad av t.ex. värden som innehåller radbrytningar.

--name-only

Matar endast ut namnen på konfigurationsvariablerna för list eller get.

--show-names
--no-show-names

Med get visas konfigurationsnycklar utöver deras värden. Standardvärdet är --no-show-names om inte --url anges och det inte finns några underavsnitt i <namn>.

--show-origin

Utöka utdata för alla efterfrågade konfigurationsalternativ med ursprungstypen (fil, standardindata, blob, kommandorad) och det faktiska ursprunget (konfigurationsfilens sökväg, referens eller blob-id om tillämpligt).

--show-scope

Liknar --show-origin i det att den utökar utdata från alla efterfrågade konfigurationsalternativ med omfattningen av det värdet (arbetsträd, lokalt, globalt, system, kommando).

--get-colorbool <namn> [<stdout-är-tty>]

Hitta färginställningen för <namn> (t.ex. color.diff) och skriv ut "true" eller "false". <stdout-is-tty> ska vara antingen "true" eller "false" och beaktas när konfigurationen säger "auto". Om <stdout-is-tty> saknas kontrolleras standardutdata för själva kommandot och avslutas med status 0 om färg ska användas, eller avslutas med status 1 annars. När färginställningen för namn är odefinierad använder kommandot color.ui som reserv.

--includes
--no-includes

Respektera include.*-direktiven i konfigurationsfiler när du söker efter värden. Standardinställningen är off när en specifik fil anges (t.ex. genom att använda --file, --global, etc.) och on när du söker i alla konfigurationsfiler.

--default <värde>

När get används och den begärda variabeln inte hittas, bete dig som om <värde> vore det värde som tilldelats variabeln.

FÖRÅLDRDE LÄGEN

Följande lägen har föråldrats till förmån för underkommandon. Det rekommenderas att migrera till den nya syntaxen.

git config <namn>

Ersatt av git config get <namn>.

git config <namn> <värde> [<värde-mönster>]

Ersatt av git config set [--value=<mönster>] <namn> <värde>.

-l
--list

Ersatt av git config list.

--get <namn> [<värde-mönster>]

Ersatt av git config get [--value=<mönster>] <namn>.

--get-all <namn> [<värde-mönster>]

Ersatt av git config get [--value=<mönster>] --all <namn>.

--get-regexp <namn-regexp>

Replaced by git config get --all --show-names --regexp <namn-regexp>.

--get-urlmatch <namn> <URL>

Ersatt av git config get --all --show-names --url=<URL> <namn>.

--get-color <namn> [<standard>]

Ersatt av git config get --type=color [--default=<standard>] <namn>.

--add <namn> <värde>

Ersatt av git config set --append <namn> <värde>.

--unset <namn> [<värde-mönster>]

Ersatt av git config unset [--value=<mönster>] <namn>.

--unset-all <namn> [<värde-mönster>]

Ersatt av git config unset [--value=<mönster>] --all <namn>.

--rename-section <gammalt-namn> <nytt-namn>

Ersatt av git config rename-section <gammalt-namn> <nytt-namn>.

--remove-section <namn>

Ersatt av git config remove-section <namn>.

-e
--edit

Ersatt av git config edit.

KONFIGURATION

pager.config respekteras bara när konfigurationen listas, dvs. när list eller get används, vilka kan returnera flera resultat. Standardinställningen är att använda en bläddrare.

FILER

Som standard läser git config konfigurationsalternativ från flera filer:

$(prefix)/etc/gitconfig

Systemomfattande konfigurationsfil.

$XDG_CONFIG_HOME/git/config
~/.gitconfig

Användarspecifika konfigurationsfiler. När miljövariabeln XDG_CONFIG_HOME inte är angiven eller tom används $HOME/.config/ som $XDG_CONFIG_HOME.

Dessa kallas även "globala" konfigurationsfiler. Om båda filerna finns läses båda filerna i den ordning som anges ovan.

$GIT_DIR/config

Förvars specifik konfigurationsfil.

$GIT_DIR/config.worktree

Detta är valfritt och söks endast efter när extensions.worktreeConfig finns i $GIT_DIR/config.

Du kan också ange ytterligare konfigurationsparametrar när du kör ett git-kommando genom att använda alternativet -c. Se git[1] för mer information.

Alternativ kommer att läsas från alla dessa tillgängliga filer. Om de globala eller systemomfattande konfigurationsfilerna saknas eller är oläsliga kommer de att ignoreras. Om kodförrådets konfigurationsfil saknas eller är oläslig kommer git config att avslutas med en felkod som inte är noll. Ett felmeddelande visas om filen är oläslig, men inte om den saknas.

Filerna läses i den ordning som anges ovan, där det senast funna värdet prioriteras framför det tidigare lästa värdet. När flera värden tas kommer alla värden från en nyckel från alla filer att användas.

Som standard, skrivs alternativ endast till den specifika konfigurationsfilen för arkivet. Observera att detta även påverkar alternativ som set och unset. git config kommer bara att ändra en fil åt gången.

Du kan begränsa vilka konfigurationskällor som läses från eller skrivs till genom att ange sökvägen till en fil med alternativet --file, eller genom att ange ett konfigurationsomfång med --system, --global, --local eller --worktree. För mer information, se ALTERNATIV ovan.

OMFATTNINGAR

Varje konfigurationskälla faller inom ett konfigurationsomfång. Omfången är:

system

$(prefix)/etc/gitconfig

global

$XDG_CONFIG_HOME/git/config

~/.gitconfig

lokal

$GIT_DIR/config

arbetsträd

$GIT_DIR/config.worktree

kommando

GIT_CONFIG_{COUNT,KEY,VALUE} miljövariabler (se MILJÖ nedan)

alternativet -c

Med undantag för command motsvarar varje omfång ett kommandoradsalternativ: --system, --global, --local, --worktree.

När man läser alternativ och anger ett scope, läses endast alternativ från filerna inom det omfånget. När man skriver alternativ och anger ett omfång, skrivs det till filerna inom det omfånget (istället för till den databasspecifika konfigurationsfilen). Se ALTERNATIV ovan för en fullständig beskrivning.

De flesta konfigurationsalternativ respekteras oavsett vilket omfång de definieras i, men vissa alternativ respekteras endast i vissa omfång. Se respektive alternativs dokumentation för fullständig information.

Skyddad konfiguration

Skyddad konfiguration hänvisar till omfången system, global och kommando. Av säkerhetsskäl respekteras vissa alternativ endast när de anges i skyddad konfiguration och ignoreras annars.

Git behandlar dessa omfång som om de kontrolleras av användaren eller en betrodd administratör. Detta beror på att en angripare som kontrollerar dessa omfång kan orsaka betydande skada utan att använda Git, så det antas att användarens miljö skyddar dessa omfång mot angripare.

MILJÖ

GIT_CONFIG_GLOBAL
GIT_CONFIG_SYSTEM

Hämta konfigurationen från de givna filerna istället från global eller systemnivåkonfiguration. Se git[1] för mer information.

GIT_CONFIG_NOSYSTEM

Om läsning av inställningar från den systemomfattande $(prefix)/etc/gitconfig-filen ska hoppas över. Se git[1] för mer information.

Se även FILER.

GIT_CONFIG_COUNT
GIT_CONFIG_KEY_<n>
GIT_CONFIG_VALUE_<n>

Om GIT_CONFIG_COUNT sätts till ett positivt tal, kommer alla miljöpar GIT_CONFIG_KEY_<n> och GIT_CONFIG_VALUE_<n> upp till det numret att läggas till i processens körtidskonfiguration. Konfigurationsparen nollindexeras. Alla saknade nyckelr eller värden behandlas som ett fel. En tom GIT_CONFIG_COUNT behandlas på samma sätt som GIT_CONFIG_COUNT=0, det vill säga inga par bearbetas. Dessa miljövariabler kommer att åsidosätta värden i konfigurationsfiler, men kommer att åsidosättas av eventuella explicita alternativ som skickas via git -c.

Detta är användbart i fall där du vill skapa flera git-kommandon med en gemensam konfiguration men inte kan vara beroende av en konfigurationsfil, till exempel när du skriver skript.

GIT_CONFIG

Om ingen --file-inställning finns i git config, använd filen som ges av GIT_CONFIG som om den tillhandahölls via --file. Denna variabel har ingen effekt på andra Git-kommandon och är främst till för historisk kompatibilitet; det finns generellt ingen anledning att använda den istället för --file-inställningen.

EXEMPEL

Givet en .git/config som denna:

#
# Detta är konfigurationsfilen, och
# ett '#' eller ';'-tecken indikerar
# en kommentar
#

; kärnvariabler
[core]
	; Lita inte på fillägen
	filemode = false

; Vår diff-algoritm
[diff]
	external = /usr/local/bin/diff-wrapper
	renames = true

; Proxyinställningar
[core]
	gitproxy=proxy-command for kernel.org
	gitproxy=default-proxy ; för alla de andra

; HTTP
[http]
	sslVerify
[http "https://weak.example.com"]
	sslVerify = false
	cookieFile = /tmp/cookie.txt

du kan ställa in filläget till sant med

% git config set core.filemode true

De hypotetiska proxykommandoposterna har faktiskt ett postfix för att urskilja vilken URL de gäller. Så här ändrar du posten för kernel.org till "ssh".

% git config set --value='for kernel.org$' core.gitproxy '"ssh" for kernel.org'

Detta säkerställer att endast nyckel/värde-paret för kernel.org ersätts.

För att ta bort posten för namnbyten, gör

% git config unset diff.renames

Om du vill ta bort en post för en multivariabel (som core.gitproxy ovan) måste du ange en regex som matchar värdet på exakt en rad.

För att fråga efter värdet för en given nyckel, gör

% git config get core.filemode

eller, för att fråga en multivariabel:

% git config get --value="for kernel.org$" core.gitproxy

Om du vill veta alla värden för en multivariabel, gör:

% git config get --all --show-names core.gitproxy

Om du gillar att leva farligt, kan du ersätta all core.gitproxy med en ny med

% git config set --all core.gitproxy ssh

Men om du bara vill ersätta raden för standardproxyn, dvs. den utan ett "för …​"-postfix, gör något så här:

% git config set --value='! for ' core.gitproxy ssh

För att faktiskt bara matcha värden med ett utropstecken, måste du

% git config set --value='[!]' section.key value

För att lägga till en ny proxy utan att ändra någon av de befintliga, använd

% git config set --append core.gitproxy '"proxy-command" for example.com'

Ett exempel på hur man använder anpassad färg från konfigurationen i ditt skript:

#!/bin/sh
WS=$(git config get --type=color --default="blue reverse" color.diff.whitespace)
RESET=$(git config get --type=color --default="reset" "")
echo "${WS}your whitespace color or blue reverse${RESET}"

För URL:er i https://weak.example.com är http.sslVerify satt till falskt, medan det är satt till true för alla andra:

% git config get --type=bool --url=https://good.example.com http.sslverify
true
% git config get --type=bool --url=https://weak.example.com http.sslverify
false
% git config get --url=https://weak.example.com http
http.cookieFile /tmp/cookie.txt
http.sslverify false

KONFIGURATIONSFIL

Git-konfigurationsfilen innehåller ett antal variabler som påverkar Git-kommandonas beteende. Filerna .git/config och eventuellt config.worktree (se avsnittet "KONFIGURATIONSFIL" i git-worktree[1]) i varje kodförråd används för att lagra konfigurationen för det kodförrådet, och $HOME/.gitconfig används för att lagra en konfiguration per användare som reservvärden för .git/config-filen. Filen /etc/gitconfig kan användas för att lagra en systemomfattande standardkonfiguration.

Konfigurationsvariablerna används av både Git-lågnivåkommandon och högnivåkommandon. Variablerna är indelade i sektioner, där det fullständigt kvalificerade variabelnamnet är det sista punktseparerade segmentet och sektionsnamnet är allt före den sista punkten. Variabelnamnen är skiftlägesoberoende, tillåter endast alfanumeriska tecken och -, och måste börja med ett alfabetiskt tecken. Vissa variabler kan förekomma flera gånger; då säger vi att variabeln är flervärdig.

Syntax

Syntaxen är ganska flexibel och tillåtande. Blanktecken, som i detta sammanhang är mellanslagstecknet (SP) och horisontell tabuleringstecken (HT), ignoreras oftast. Tecknen # och ; börjar kommentarer till slutet av raden. Tomma rader ignoreras.

Filen består av sektioner och variabler. Ett avsnitt börjar med avsnittets namn inom hakparenteser och fortsätter tills nästa avsnitt börjar. Sektionsnamn är inte skiftlägeskänsliga. Endast alfanumeriska tecken, - och . är tillåtna i sektionsnamn. Varje variabel måste tillhöra ett avsnitt, vilket innebär att det måste finnas en sektions-huvud före den första inställningen av en variabel.

Avsnitt kan vidare delas in i underavsnitt. För att börja ett underavsnitt, skriv dess namn inom dubbla citationstecken, separerade med mellanslag från avsnittsnamnet, i sektion-huvudet, som i exemplet nedan:

	[section "underavsnitt"]

Namn på underavsnitt är skiftlägeskänsliga och kan innehålla vilka tecken som helst förutom nyrad och nullbyte. Dubbelcitat " och bakåtsnedstreck kan inkluderas genom att använda escapetecken som \" respektive \\. Bakåtsnedstreck som föregår andra tecken tas bort vid läsning; till exempel läses \t som t och \0 läses som 0. Avsnittsrubriker kan inte sträcka sig över flera rader. Variabler kan tillhöra direkt ett avsnitt eller ett givet underavsnitt. Du kan ha [avsnitt] om du har [avsnitt "underavsnitt"], men du behöver inte ha det.

Det finns också en föråldrad syntax [section.subsection]. Med denna syntax konverteras underavdelningsnamnet till gemener och jämförs även med gemener/skiftlägeskänslighet. Dessa underavdelningsnamn följer samma begränsningar som sektionsnamn.

Alla andra rader (och resten av raden efter sektions-huvudet) känns igen som inställningsvariabler i formen namn = värde (eller bara namn, vilket är en förkortning för att variabeln är den booleska "sant"). Variabelnamnen är skiftlägesoberoende, tillåter endast alfanumeriska tecken och - och måste börja med ett alfabetiskt tecken.

Blanktecken som omger name, = och value kasseras. Interna blanktecken inom value behålls ordagrant. Kommentarer som börjar med antingen # eller ; och fortsätter till slutet av raden kasseras. En rad som definierar ett värde kan fortsätta till nästa rad genom att avsluta den med ett bakåtsnedstreck (\); det bakåtsnedstreck och radslutstecknen kasseras.

Om value behöver innehålla inledande eller efterföljande blanksteg måste det omges av dubbla citattecken ("). Inom dubbla citattecken måste dubbla citattecken (") och bakåtsnedstreck (\) omges av escapetecken: använd \` för " och \\ för \.

Följande escapesekvenser (förutom \" och \\) känns igen: \n för nyradstecken (NL), \t för horisontell tabulering (HT, TAB) och \b för backsteg (BS). Andra tecken-escapesekvenser (inklusive oktala escapesekvenser) är ogiltiga.

Inkluderar

Avsnitten include och includeIf låter dig inkludera konfigurationsdirektiv från en annan källa. Dessa avsnitt beter sig identiskt med varandra med undantaget att includeIf-avsnitt kan ignoreras om deras villkor inte utvärderas till sant; se "Villkorliga inkluderingar" nedan.

Du kan inkludera en konfigurationsfil från en annan genom att sätta den speciella variabeln include.path (eller includeIf.*.path) till namnet på den fil som ska inkluderas. Variabeln tar ett sökvägsnamn som värde och är föremål för tildeexpansion. Dessa variabler kan anges flera gånger.

Innehållet i den inkluderade filen infogas omedelbart, som om det hade hittats på platsen för include-direktivet. Om variabelns värde är en relativ sökväg anses sökvägen vara relativ till konfigurationsfilen där include-direktivet hittades. Se nedan för exempel.

Villkorliga inkluderingar

Du kan villkorligt inkludera en konfigurationsfil från en annan genom att ställa in variabeln includeIf.<villkor>.path i namnet på den fil som ska inkluderas.

Villkoret börjar med ett nyckelord följt av ett kolon och lite data vars format och betydelse beror på nyckelordet. Nyckelord som stöds är:

gitdir

Data som följer efter nyckelordet gitdir och ett kolon används som ett glob-mönster. Om platsen för .git-katalogen matchar mönstret är include-villkoret uppfyllt.

git-platsen kan vara auto-upptäckt, eller komma från miljövariabeln $GIT_DIR. Om kodförrådet är auto-upptäckt via en .git-fil (t.ex. från undermoduler eller ett länkat arbetsträd), skulle .git-platsen vara den slutliga platsen där .git-katalogen finns, inte där .git-filen finns.

Mönstret kan innehålla vanliga globbing-jokertecken och två ytterligare, **/ och /**, som kan matcha flera sökvägskomponenter. Se gitignore[5] för mer information. För enkelhetens skull:

  • Om mönstret börjar med ~/ kommer ~ att ersättas med innehållet i miljövariabeln HOME.

  • Om mönstret börjar med ./ ersätts det med katalogen som innehåller den aktuella konfigurationsfilen.

  • Om mönstret inte börjar med vare sig ~/, ./ eller /, kommer **/ automatiskt att läggas till före. Till exempel blir mönstret foo/bar till **/foo/bar och skulle matcha /any/path/to/foo/bar.

  • Om mönstret slutar med /, läggs ** till automatiskt. Till exempel blir mönstret foo/ till foo/**. Med andra ord matchar det "foo" och allt inuti, rekursivt.

gitdir/i

Det här är samma sak som gitdir förutom att matchningen görs skiftlägesoberoende (t.ex. på filsystem som är skiftlägesoberoende)

onbranch

Data som följer nyckelordet onbranch och ett kolon tas som ett mönster med vanliga globbing-jokertecken och två ytterligare, **/ och /**, som kan matcha flera sökvägskomponenter. Om vi befinner oss i ett arbetsträd där namnet på den gren som för närvarande är utcheckad matchar mönstret, är include-villkoret uppfyllt.

Om mönstret slutar med / läggs ** till automatiskt. Till exempel blir mönstret foo/ till foo/**. Med andra ord matchar det alla grenar som börjar med foo/. Detta är användbart om dina grenar är organiserade hierarkiskt och du vill tillämpa en konfiguration på alla grenar i den hierarkin.

hasconfig:remote.*.url

Data som följer efter detta nyckelord och ett kolon tas som ett mönster med vanliga globbing-jokertecken och två ytterligare, **/ och /**, som kan matcha flera komponenter. Första gången detta nyckelord ses kommer resten av konfigurationsfilerna att skannas efter fjärr-URL:er (utan att tillämpa några värden). Om det finns minst en fjärr-URL som matchar detta mönster är inkluderingsvillkoret uppfyllt.

Filer som inkluderas av det här alternativet (direkt eller indirekt) får inte innehålla fjärr-URL:er.

Observera att till skillnad från andra includeIf-villkor, är lösningen av detta villkor beroende av information som ännu inte är känd vid tidpunkten för läsning av villkoret. Ett typiskt användningsfall är att detta alternativ finns som en konfiguration på systemnivå eller global nivå, och att fjärr-URL:en finns i en konfiguration på lokal nivå; därav behovet av att skanna framåt när detta villkor löses. För att undvika hönan-och-ägget-problemet där potentiellt inkluderade filer kan påverka huruvida sådana filer potentiellt inkluderas, bryter Git cykeln genom att förbjuda dessa filer att påverka lösningen av dessa villkor (och därmed förbjuda dem att deklarera fjärr-URL:er).

När det gäller namngivningen av detta nyckelord, så är det för framåtkompatibilitet med ett namngivningsschema som stöder mer variabelbaserade inkluderingsvillkor, men för närvarande stöder Git bara exakt det nyckelord som beskrivs ovan.

Några fler anteckningar om matchning via gitdir och gitdir/i:

  • Symlänkar i $GIT_DIR löses inte innan matchning.

  • Både symlänk- och realpath-versionerna av sökvägarna kommer att matchas utanför $GIT_DIR. T.ex. om ~/git är en symlänk till /mnt/storage/git, kommer både gitdir:~/git och gitdir:/mnt/storage/git att matcha.

    Det här var inte fallet i den första versionen av den här funktionen i v2.13.0, som bara matchade realpath-versionen. Konfiguration som vill vara kompatibel med den första versionen av den här funktionen måste antingen ange endast realpath-versionen, eller båda versionerna.

  • Observera att "../" inte är speciellt och kommer att matcha bokstavligt, vilket sannolikt inte är vad du vill ha.

Exempel

# Kärnvariabler
[core]
	; Lita inte på fillägen
	filemode = false

# Vår diff-algoritm
[diff]
	external = /usr/local/bin/diff-wrapper
	renames = true

[branch "utveckling"]
	remote = origin
	merge = refs/heads/devel

# Proxyinställningar
[core]
	gitProxy="ssh" for "kernel.org"
	gitProxy=default-proxy ; för resten

[include]
	path = /path/to/foo.inc ; inkludera med absolut sökväg
	path = foo.inc ; hitta "foo.inc" relativt till den aktuella filen
	path = ~/foo.inc ; hitta "foo.inc" i din `$HOME`-katalog

; inkludera om $GIT_DIR är /path/to/foo/.git
[includeIf "gitdir:/path/to/foo/.git"]
	path = /path/to/foo.inc

; inkludera för alla kodförråd inuti /path/to/group
[includeIf "gitdir:/path/to/group/"]
	path = /path/to/foo.inc

; inkludera för alla kodförråd i $HOME/to/group
[includeIf "gitdir:~/to/group/"]
	path = /path/to/foo.inc

; relativa sökvägar är alltid relativa till den inkluderande
; filen (om villkoret är sant); deras plats påverkas inte
; av villkoret
[includeIf "gitdir:/path/to/group/"]
	path = foo.inc

; inkludera endast om vi är i ett arbetsträd där foo-branch är
; för närvarande utcheckad
[includeIf "onbranch:foo-branch"]
	path = foo.inc

; inkludera endast om en fjär med den angivna URL:en finns (observera
; att en sådan URL kan tillhandahållas senare i en fil eller i en
; fil som läses efter att denna fil har lästs, som ses i detta exempel)
[includeIf "hasconfig:remote.*.url:https://example.com/**"]
	path = foo.inc
[remote "origin"]
	url = https://example.com/git

Värden

Värden för många variabler behandlas som en enkel sträng, men det finns variabler som tar värden av specifika typer och det finns regler för hur man stavar dem.

boolesk

När en variabel sägs anta ett booleskt värde accepteras många synonymer för sant och falskt; dessa är alla skiftlägesoberoende.

sant

Booleska sanna literaler är yes, on, sant och 1. Dessutom tas en variabel definierad utan = <value> som sann.

false

Booleska falska literaler är no, off, false, 0 och den tomma strängen.

När man konverterar ett värde till dess kanoniska form med typspecifikationen --type=bool, kommer ‘git config’ att säkerställa att utdata är "true" eller "false" (stavat med gemener).

heltal

Värdet för många variabler som anger olika storlekar kan ges suffix med k, M,…​ för att betyda "skala talet med 1024", "med 1024x1024", etc.

color

Värdet för en variabel som tar en färg är en lista med färger (högst två, en för förgrund och en för bakgrund) och attribut (så många du vill), separerade med mellanslag.

De accepterade grundfärgerna är normal, black (svart), red (röd), green (grön), yellow (gul), blue (blå), magenta, cyan, white (vit) and default (standard). Den första färgen som anges är förgrunden; den andra är bakgrunden. Alla grundfärger utom normal och default har en ljus variant som kan anges genom att prefixet bright (ljus) skrivs ut för färgen, som brightred (ljusröd).

Färgen normal ändrar inte färgen. Den är samma som en tom sträng, men kan användas som förgrundsfärg när man anger enbart en bakgrundsfärg (till exempel "normal red" (normal röd)).

Färgen standard återställer explicit färgen till terminalens standardinställning, till exempel för att ange en ren bakgrund. Även om det varierar mellan terminaler är detta vanligtvis inte detsamma som att ställa in den på "white black" (vit svart).

Färger kan också anges som siffror mellan 0 och 255; dessa använder ANSI 256-färgläge (men observera att inte alla terminaler stöder detta). Om din terminal stöder det kan du också ange 24-bitars RGB-värden som hexagoner, som #ff0ab3, eller 12-bitars RGB-värden som #f1b, vilket motsvarar 24-bitarsfärgen #ff11bb.

De accepterade attributen är bold (fet), dim, ul (understruken), blink (blinka), reverse (omvänd), italic (kursiv) och strike (för överstrukna eller genomstrukna bokstäver). Attributens position i förhållande till färgerna (före, efter eller däremellan) spelar ingen roll. Specifika attribut kan stängas av genom att prefixet no eller no- läggs till (t.ex. noreverse, no-ul, etc.).` och strike (för överstrukna eller genomstrukna bokstäver).

Pseudoattributet reset återställer alla färger och attribut innan den angivna färgen tillämpas. Till exempel kommer reset green att resultera i en grön förgrund och standardbakgrund utan några aktiva attribut.

En tom färgsträng ger ingen färgeffekt alls. Detta kan användas för att undvika att färglägga specifika element utan att helt inaktivera färg.

För gits fördefinierade färg-fack är attributen avsedda att återställas i början av varje post i den färgade utdata. Så om du ställer in color.decorate.branch till black kommer grennamnet att målas i en vanlig svart, även om föregående sak på samma utdatarad (t.ex. inledande parentes före listan med grennamn i log --decorate utdata) är inställd på att målas med bold eller något annat attribut. Anpassade loggformat kan dock göra mer komplicerad och lager-på-lager-färgning, och de negerade formerna kan vara användbara där.

sökvägsnamn

En variabel som tar ett sökvägsvärde kan ges en sträng som börjar med "~/" eller "~user/", och den vanliga tilde-expansionen sker för en sådan sträng: ~/ expanderas till värdet $HOME och ~user/ till den angivna användarens hemkatalog.

Om en sökväg börjar med %(prefix)/ tolkas resten som en sökväg relativt till Gits "runtime prefix", d.v.s. relativt till platsen där Git självt installerades. Till exempel refererar %(prefix)/bin/ till katalogen där själva Git-filen finns. Om Git kompilerades utan stöd för runtime prefix kommer det kompilerade prefixet att ersättas. I det osannolika fallet att en litteral sökväg behöver anges som inte ska expanderas, måste den prefixas med ./, så här: ./%(prefix)/bin.

Om prefixet :(valfritt) används behandlas konfigurationsvariabeln som om den inte existerar, om den namngivna sökvägen inte existerar.

Variabler

Observera att den här listan inte är heltäckande och inte nödvändigtvis komplett. För kommandospecifika variabler hittar du en mer detaljerad beskrivning på motsvarande manualsida.

Andra git-relaterade verktyg kan använda, och använder, sina egna variabler. När du uppfinner nya variabler för användning i ditt eget verktyg, se till att deras namn inte står i konflikt med de som används av Git självt och andra populära verktyg, och beskriv dem i din dokumentation.

add.ignoreErrors
add.ignore-errors (föråldrad)

Anger att git add ska fortsätta lägga till filer när vissa filer inte kan läggas till på grund av indexeringsfel. Motsvarar alternativet --ignore-errors i git-add[1]. add.ignore-errors är föråldrad eftersom den inte följer den vanliga namngivningskonventionen för konfigurationsvariabler.

Warning

Missing sv/config/advice.adoc

See original version for this content.

Warning

Missing sv/config/alias.adoc

See original version for this content.

Warning

Missing sv/config/am.adoc

See original version for this content.

Warning

Missing sv/config/apply.adoc

See original version for this content.

Warning

Missing sv/config/attr.adoc

See original version for this content.

Warning

Missing sv/config/bitmap-pseudo-merge.adoc

See original version for this content.

Warning

Missing sv/config/blame.adoc

See original version for this content.

branch.autoSetupMerge

Anger för git branch, git switch och git checkout att ställa in nya grenar så att git-pull[1] sammanslås korrekt från startpunktsgrenen. Observera att även om detta alternativ inte är angivet kan detta beteende väljas per gren med hjälp av alternativen --track och --no-track. Standardinställningen för detta alternativ är true. De giltiga inställningarna är:

false

ingen automatisk inställning görs

true

automatisk inställning görs när startpunkten är en fjärrspårningsgren

always

automatisk inställning görs när startpunkten är antingen en lokal gren eller en fjärrspårningsgren

inherit

Om startpunkten har en spårningskonfiguration, kopieras den till den nya grenen

simple

automatisk inställning görs endast när startpunkten är en fjärrspårningsgren och den nya grenen har samma namn som fjärrgrenen.

branch.autoSetupRebase

När en ny gern skapas med git branch, git switch eller git checkout som spårar en annan gren, talar denna variabel om för Git att ställa in pull för att obasera istället för sammanslå (se branch.<name>.rebase). De giltiga inställningarna är:

never

ombasera sätts aldrig automatiskt till true.

local

rebase is set to true for tracked branches of other local branches.

remote

rebase är satt till sant för spårade grenar av fjärrspårande grenar.

always

ombasera kommer att sättas till true för alla spårningsgrenar.

Se branch.autoSetupMerge för information om hur man konfigurerar en gren för att spåra en annan gren. Standardinställningen är never.

branch.sort

Denna variabel styr sorteringsordningen för grenar när de visas av git-branch[1]. Utan alternativet --sort=<värde> kommer värdet för denna variabel att användas som standard. Se fältnamnen i git-for-each-ref[1] för giltiga värden.

branch.<name>.remote

När den är på grenen <namn>, talar den om för git fetch och git push vilken fjärr som ska hämtas från eller pushas till. Fjärren som pushas till kan åsidosättas med remote.pushDefault (för alla grenar). Fjärren som pushas till, för den aktuella grenen, kan ytterligare åsidosättas av branch.<namn>.pushRemote. Om ingen fjärr är konfigurerad, eller om du inte är på någon gren och det finns mer än en fjärr definierad i förvaret, används som standard origin för hämtning och remote.pushDefault för push:ing. Dessutom är . (en punkt) det aktuella lokala förvaret (ett punkt-förvar), se `branch.<namn>.merge`s sista anmärkning nedan.

branch.<name>.pushRemote

När den är på branch <name>, åsidosätter den branch.<name>.remote för push:ning. Den åsidosätter också remote.pushDefault för push:ning från gren <name>. När du hämtar från en plats (t.ex. din uppströms) och pushar till en annan plats (t.ex. ditt eget publiceringsfövar), vill du ställa in remote.pushDefault för att ange fjärren som push-funktionen ska skickas till för alla grenar, och använda det här alternativet för att åsidosätta det för en specifik gren.

branch.<name>.merge

Definierar, tillsammans med branch.<namn>.remote, uppströmsgrenen för den givna grenen. Den anger för git fetch/git pull/git rebase vilken gren som ska sammanslås och kan också påverka git push (se push.default). I grenen <namn> anger den för git fetch vilken standardrefspec som ska markeras för sammanfogning i FETCH_HEAD. Värdet hanteras som den fjärr-delen av en refspec och måste matcha en ref som hämtas från fjärren som anges av branch.<namn>.remote. Sammanslagnings-informationen används av git pull (som först anropar git fetch) för att söka efter standardgrenen för sammanfogning. Utan detta alternativ sammanslår git pull som standard den första hämtade refspecen. Ange flera värden för att få en bläckfisk-sammanfogning. Om du vill konfigurera git pull så att den sammanfogas med <namn> från en annan gren i det lokala arkivet, kan du peka branch.<namn>.merge till önskad gren och använda den relativa sökvägsinställningen . (en punkt) för branch.<namn>.remote.

branch.<namn>.mergeOptions

Ställer in standardalternativ för sammanslagning till grenen <namn>. Syntaxen och de alternativ som stöds är desamma som för git-merge[1], men alternativvärden som innehåller blanksteg stöds för närvarande inte.

branch.<name>.rebase

När det är sant, ombasera grenen <namn> ovanpå den hämtade grenen, istället för att sammanfoga standardgrenen från standardfjärren när git pull körs. Se pull.rebase för att göra detta på ett icke-grenspecifikt sätt.

När merges (eller bara m) används, skicka --rebase-merges-alternativet till git rebase så att de lokala sammanslagnings-incheckningen inkluderas i ombaseringen (se git-rebase[1] för detaljer).

När värdet är interactive (eller bara i) körs ombaseringen i interaktivt läge.

OBS: detta är en potentiellt farlig operation; använd den inte om du inte förstår konsekvenserna (se git-rebase[1] för mer information).

branch.<name>.description

Grenbeskrivning, kan redigeras med git branch --edit-description. Grenbeskrivningen läggs automatiskt till i format-patch följebrevet eller request-pull sammanfattningen.

Warning

Missing sv/config/browser.adoc

See original version for this content.

Warning

Missing sv/config/bundle.adoc

See original version for this content.

checkout.defaultRemote

När du kör git checkout <något> eller git switch <något> och bara har en fjärr, kan den implicit återgå till att checka ut och spåra, t.ex. origin/<något>. Detta slutar fungera så fort du har mer än en fjärr med en <något>-referens. Den här inställningen gör det möjligt att ställa in namnet på en föredragen fjärr som alltid ska vinna vid särskiljning. Det typiska användningsfallet är att ställa in detta till origin.

För närvarande används detta av git-switch[1] och git-checkout[1] när git checkout <något> eller git switch <något> checkar ut grenen <något> på en annan fjärr, och av git-worktree[1] när git worktree add refererar till en fjärrgren. Denna inställning kan komma att användas för andra checkout-liknande kommandon eller funktioner i framtiden.

checkout.guess

Anger standardvärdet för alternativen --guess eller --no-guess i git checkout och git switch. Se git-switch[1] och git-checkout[1].

checkout.workers

Antalet parallella arbetare som ska användas vid uppdatering av arbetskatalogen. Standardvärdet är ett, dvs. sekventiell exekvering. Om det sätts till ett värde mindre än ett, kommer Git att använda lika många arbetare som antalet tillgängliga logiska kärnor. Denna inställning och checkout.thresholdForParallelism påverkar alla kommandon som utför utcheckning. T.ex. checkout, clone, reset, sparse-checkout, etc.

Note
Parallell utcheckning ger vanligtvis bättre prestanda för förvar som finns på SSD-diskar eller över NFS. För förvar på roterande diskar och/eller maskiner med ett litet antal kärnor fungerar standard sekventiell utcheckning ofta bättre. Storleken och komprimeringsnivån för ett förvaret kan också påverka hur bra den parallella versionen presterar.
checkout.thresholdForParallelism

När man kör parallell utcheckning med ett litet antal filer kan kostnaden för att skapa underprocesser och kommunikation mellan processer överväga vinsterna med parallellisering. Den här inställningen låter dig definiera det minsta antalet filer som parallell utcheckning ska försökas för. Standardinställningen är 100.

Warning

Missing sv/config/clean.adoc

See original version for this content.

clone.defaultRemoteName

Namnet på den fjärren som ska skapas vid kloning av ett arkiv. Standardvärdet är origin. Den kan åsidosättas genom att skicka kommandoradsalternativet --origin till git-clone[1].

clone.rejectShallow

Avvisa kloning av ett kodförråd om det är ett ytligt sådant; detta kan åsidosättas genom att skicka alternativet --reject-shallow på kommandoraden. Se git-clone[1].

clone.filterSubmodules

Om ett partiellt klonfilter tillhandahålls (se --filter i git-rev-list[1]) och --recurse-submodules används, använd även filtret på undermoduler.

Warning

Missing sv/config/color.adoc

See original version for this content.

Warning

Missing sv/config/column.adoc

See original version for this content.

commit.cleanup

Den här inställningen åsidosätter standardinställningen för --cleanup-alternativet i git commit. See git-commit[1] for details. Att ändra standardinställningen kan vara användbart när du alltid vill behålla rader som börjar med kommentartecknet (core.commentChar, standard #) i ditt loggmeddelande, i vilket fall du skulle göra git config commit.cleanup whitespace (observera att du själv måste ta bort hjälpraderna som börjar med kommentartecknet i incheckning-loggmallen om du gör detta).

commit.gpgSign

En boolesk kod som anger om alla incheckningar ska GPG-signeras. Användning av det här alternativet vid operationer som ombasering kan resultera i att ett stort antal incheckningar signeras. Det kan vara praktiskt att använda en agent för att undvika att skriva in din GPG-lösenfras flera gånger.

commit.status

Ett booleskt värde för att aktivera/inaktivera inkludering av statusinformation i inchecknings-meddelandemallen när en editor används för att förbereda inchecknings-meddelandet. Standardvärdet är true.

commit.template

Ange sökvägen till en fil som ska användas som mall för nya inchecknings-meddelanden.

commit.verbose

Ett booleskt värde eller ett heltal för att ange utförlighetsnivån med git commit. See git-commit[1] for details.

Warning

Missing sv/config/commitgraph.adoc

See original version for this content.

Warning

Missing sv/config/completion.adoc

See original version for this content.

Warning

Missing sv/config/core.adoc

See original version for this content.

Warning

Missing sv/config/credential.adoc

See original version for this content.

diff.autoRefreshIndex

När du använder git diff för att jämföra med arbetsträdfiler, betrakta inte ändringar som endast innehåller statistiska data som ändrade. Kör istället git update-index --refresh i tysthet för att uppdatera den cachade statistiska informationen för sökvägar vars innehåll i arbetsträdet matchar innehållet i indexet. Standardvärdet för detta alternativ är true. Observera att detta endast påverkar git diff Porslin, och inte diff-kommandon på lägre nivå som git diff-files.

diff.dirstat

En kommaseparerad lista med --dirstat-parametrar som anger standardbeteendet för --dirstat-alternativet till git-diff[1] och vänner. Standardvärdena kan åsidosättas på kommandoraden (med --dirstat=<param>,...). Reservstandardvärdena (när de inte ändras av diff.dirstat) är changes,noncumulative,3. Följande parametrar är tillgängliga:

changes

Beräkna dirstat-talen genom att räkna raderna som har tagits bort från källan eller lagts till i destinationen. Detta ignorerar mängden rena kodförflyttningar inom en fil. Med andra ord räknas inte omarrangemang av rader i en fil lika mycket som andra ändringar. Detta är standardbeteendet när ingen parameter anges.

lines

Beräkna dirstat-talen genom att göra den vanliga radbaserade diff-analysen och summera antalet borttagna/tillagda rader. (För binära filer, räkna istället 64-byte-block, eftersom binära filer inte har något naturligt koncept för rader). Detta är ett dyrare --dirstat-beteende än changes-beteendet, men det räknar omordnade rader i en fil lika mycket som andra ändringar. Den resulterande utdata överensstämmer med vad du får från de andra --*stat-alternativen.

files

Beräkna dirstat-talen genom att räkna antalet ändrade filer. Varje ändrad fil räknas lika i dirstat-analysen. Detta är det beräkningsmässigt billigaste beteendet för --dirstat, eftersom det inte behöver titta på filinnehållet alls.

cumulative

Count changes in a child directory for the parent directory as well. Note that when using cumulative, the sum of the percentages reported may exceed 100%. The default (non-cumulative) behavior can be specified with the noncumulative parameter.

<gränsvärde>

En heltalsparameter anger en gränsvärde i procent (3 % som standard). Kataloger som bidrar med mindre än denna procentandel av ändringarna visas inte i utdata.

Exempel: Följande räknar ändrade filer, ignorerar kataloger med mindre än 10 % av den totala mängden ändrade filer och ackumulerar antal underkataloger i de överordnade katalogerna: files,10,cumulative.

diff.statNameWidth

Begränsa bredden på filnamnsdelen i --stat-utdata. Om angivet gäller det alla kommandon som genererar --stat-utdata förutom format-patch.

diff.statGraphWidth

Begränsa bredden på grafdelen i --stat-utdata. Om angivet gäller det alla kommandon som genererar --stat-utdata förutom format-patch.

diff.context

Generera diffar med <n> rader kontext istället för standardvärdet 3. Detta värde åsidosätts av alternativet -U.

diff.interHunkContext

Visa sammanhanget mellan olika stycken, upp till det angivna antalet rader, och sammanfoga därmed de stycken som ligger nära varandra. Detta värde fungerar som standardvärde för kommandoradsalternativet --inter-hunk-context.

diff.external

Om denna konfigurationsvariabel är satt, utförs diff-generering inte med hjälp av den interna diff-maskineriet, utan med hjälp av det givna kommandot. Kan åsidosättas med miljövariabeln GIT_EXTERNAL_DIFF. Kommandot anropas med parametrar som beskrivs under "git Diffs" i git[1]. Obs: om du bara vill använda ett externt diff-program på en delmängd av dina filer, kanske du vill använda gitattributes[5] istället.

diff.trustExitCode

Om detta booleska värde är satt till true förväntas kommandot diff.external returnera avslutningskoden 0 om det anser att indatafilerna är lika eller 1 om det anser att de är olika, som diff(1). Om det är satt till false, vilket är standardvärdet, förväntas kommandot returnera avslutningskoden 0 oavsett likhet. All annan avslutningskod gör att Git rapporterar ett allvarligt fel.

diff.ignoreSubmodules

Ställer in standardvärdet för --ignore-submodules. Observera att detta endast påverkar git diff Porslin, och inte lägre nivåer av diff-kommandon som git diff-files. git checkout och git switch respekterar också denna inställning vid rapportering av ej incheckade ändringar. Om den ställs in på all inaktiveras undermoduls-ammanfattningen som normalt visas av git commit och git status när status.submoduleSummary är inställt om den inte åsidosätts med hjälp av kommandoradsalternativet --ignore-submodules. Kommandona git submodule påverkas inte av denna inställning. Som standard är detta inställt på ospårad så att eventuella ej spårade undermoduler ignoreras.

diff.mnemonicPrefix

Om detta är satt använder git diff ett prefixpar som skiljer sig från standard a/ och b/ beroende på vad som jämförs. När denna konfiguration är aktiv byter även omvänd diff-utmatning ordningen på prefixen:

git diff

compares the (i)ndex and the (w)ork tree;

git diff HEAD

compares a (c)ommit and the (w)ork tree;

git diff --cached

compares a (c)ommit and the (i)ndex;

git diff HEAD:<fil1> <fil2>

compares an (o)bject and a (w)ork tree entity;

git diff --no-index <a> <b>

jämför två icke-git-saker <a> och <b>.

diff.noPrefix

Om angivet visar git diff inget käll- eller destinationsprefix.

diff.srcPrefix

Om angivet använder git diff detta källkodsprefix. Standardvärdet är a/.

diff.dstPrefix

Om angivet använder git diff detta destinationsprefix. Standardvärdet är b/.

diff.relative

Om den är satt till true visar git diff inte ändringar utanför katalogen och visar sökvägar i förhållande till den aktuella katalogen.

diff.orderFile

Fil som anger hur filer ska ordnas inom en diff. Se -O-flaggan till git-diff[1] för mer information.. Om diff.orderFile är en relativ sökväg behandlas den som relativt till toppen av arbetskatalogen.

diff.renameLimit

Antalet filer som ska beaktas i den uttömmande delen av kopierings-/namnbytesdetektering; motsvarande git diffflaggan -l. Om det inte är inställt är standardvärdet för närvarande 1000. Denna inställning har ingen effekt om namnbytesdetektering är avstängd.

diff.renames

Om och hur Git identifierar namnbyten. Om det är satt till false är namnbytesdetektering inaktiverad. Om det är satt till true är grundläggande namnbytesdetektering aktiverad. Om det är satt till copies eller copy kommer Git även att identifiera kopior. Standardvärdet är true. Observera att detta endast påverkar git diff Porslinskommandon som git-diff[1] och git-log[1], och inte lägre kommandon som git-diff-files[1].

diff.suppressBlankEmpty

Ett booleskt värde för att förhindra standardbeteendet att skriva ut ett mellanslag före varje tom utdatarad. Standardvärdet är false.

diff.submodule

Ange formatet i vilket skillnader i undermoduler visas. Formatet short visar bara namnen på incheckningar i början och slutet av intervallet. Formatet log listar incheckningar i intervallet, precis som git-submodule[1] summary gör. Formatet diff visar en inline-diff av det ändrade innehållet i undermodulen. Standardinställningen är short.

diff.wordRegex

Ett utökat reguljärt uttryck i POSIX som används för att avgöra vad som är ett "ord" vid ord-för-ord-differensberäkningar. Teckensekvenser som matchar det reguljära uttrycket är "ord", alla andra tecken är ignorerbara blanksteg.

diff.<förare>.command

Anpassat diff förare kommando. Se gitattributes[5] för mer information.

diff.<förare>.trustExitCode

Om detta booleska värde är satt till true förväntas kommandot diff.<förare>.command returnera avslutningskod 0 om det anser att indatafilerna är lika eller 1 om det anser att de är olika, som diff(1). Om det är satt till false, vilket är standardvärdet, förväntas kommandot returnera avslutningskod 0 oavsett likhet. All annan avslutningskod gör att Git rapporterar ett allvarligt fel.

diff.<förare>.xfuncname

Det reguljära uttryck som diff-föraren ska använda för att känna igen styckes-huvuden. Ett inbyggt mönster kan också användas. Se gitattributes[5] för mer information.

diff.<driver>.binary

Sätt det här alternativet till true för att få diff-förare att behandla filer som binära. Se gitattributes[5] för mer information.

diff.<förare>.textconv

Kommandot som diff-drivrutinen ska anropa för att generera den textkonverterade versionen av en fil. Resultatet av konverteringen används för att generera en människoläsbar diff. Se gitattributes[5] för mer information.

diff.<förare>.wordRegex

Det reguljära uttryck som diff-drivrutinen ska använda för att dela upp ord på en rad. Se gitattributes[5] för mer information.

diff.<förare>.cachetextconv

Sätt det här alternativet till true för att få diff-drivrutinen att cachelagra textkonverteringsutdata. Se gitattributes[5] för mer information.

diff.indentHeuristic

Ställ in det här alternativet på false för att inaktivera standardheuristiken som flyttar olika hunk-gränser för att göra patchar lättare att läsa.

diff.algorithm

Välj en diff-algoritm. Varianterna är följande:

default
myers

Den grundläggande giriga diff-algoritmen. För närvarande är detta standard.

minimal

Lägg extra tid på att se till att minsta möjliga skillnad produceras.

patience

Använd algoritmen "patience diff" när du genererar patchar.

histogram

Denna algoritm utökar tålamodsalgoritmen till att "stödja vanliga element med låg förekomst".

diff.wsErrorHighlight

Markera blankteckenfel i raderna context, old eller new i diff-filen. Flera värden separeras med kommatecken, none återställer tidigare värden, default återställer listan till new och all är en förkortning för old,new,context. Blankteckenfelen är färgade med color.diff.whitespace. Kommandoradsalternativet --ws-error-highlight=<slag> åsidosätter denna inställning.

diff.colorMoved

Om den är satt till antingen ett giltigt <läge> eller ett sant-värde, färgas flyttade linjer i en diff olika. För detaljer om giltiga lägen, se --color-moved i git-diff[1]. Om den bara ställs in på sant används standardfärgläget. När den ställs in på false färgas inte flyttade linjer.

diff.colorMovedWS

När flyttade linjer färgläggs med t.ex. inställningen diff.colorMoved, styr detta alternativ läget för hur mellanslag behandlas. För detaljer om giltiga lägen, se --color-moved-ws i git-diff[1].

Warning

Missing sv/config/difftool.adoc

See original version for this content.

Warning

Missing sv/config/extensions.adoc

See original version for this content.

Warning

Missing sv/config/fastimport.adoc

See original version for this content.

Warning

Missing sv/config/feature.adoc

See original version for this content.

fetch.recurseSubmodules

Det här alternativet styr om git fetch (och den underliggande hämtningen i git pull) rekursivt ska hämta till ifyllda undermoduler. Det här alternativet kan ställas in antingen på ett booleskt värde eller på on-demand. Att ställa in det på ett booleskt värde ändrar beteendet för fetch and pull så att de villkorslöst rekurserar till undermoduler när de är satta till true (sant) eller till att inte rekursera alls när de är satta till false (falskt). När de är satta till on-demand kommer fetch and pull bara att rekursera till en ifylld undermodul när dess superprojekt hämtar en commit som uppdaterar undermodulens referens. Standardvärdet är on-demand, eller till värdet för submodule.recurse om det är satt.

fetch.fsckObjects

Om den är satt till sant kommer git-fetch-pack att kontrollera alla hämtade objekt. Se transfer.fsckObjects för vad som är markerat. Standardvärdet är false. Om det inte är satt används värdet för transfer.fsckObjects istället.

fetch.fsck.<medd-id>

Fungerar som fsck.<medd-id>, men används av git-fetch-pack[1] istället för git-fsck[1]. Se dokumentationen för fsck.<medd-id> för mer information.

fetch.fsck.skipList

Fungerar som fsck.skipList, men används av git-fetch-pack[1] istället för git-fsck[1]. Se dokumentationen för fsck.skipList för mer information.

fetch.unpackLimit

Om antalet objekt som hämtas via Git-överföringen understiger denna gräns, kommer objekten att packas upp till lösa objektfiler. Om antalet mottagna objekt däremot är lika med eller överstiger denna gräns, kommer det mottagna paketet att lagras som ett paket, efter att eventuella saknade deltabaser har lagts till. Att lagra paketet från en push-operation kan göra att push-operationen slutförs snabbare, särskilt på långsamma filsystem. Om det inte är angivet används värdet transfer.unpackLimit istället.

fetch.prune

Om sant, kommer fetch automatiskt att bete sig som om --prune-alternativet angavs på kommandoraden. Se även remote.<namn>.prune och BESKÄRNING-sektionen i git-fetch[1].

fetch.pruneTags

Om sant, kommer fetch automatiskt att bete sig som om refs/tags/*:refs/tags/* refspec angavs vid beskärning, om den inte redan är angiven. Detta gör det möjligt att ställa in både detta alternativ och fetch.prune för att bibehålla en 1=1-mappning till uppströmsreferenser. Se även remote.<namn>.pruneTags och BESKÄRNING-sektionen i git-fetch[1].

fetch.all

Om sant, kommer fetch att försöka uppdatera alla tillgängliga fjärrar. Detta beteende kan åsidosättas genom att skicka --no-all eller genom att explicit ange en eller flera fjärrar att hämta från. Standardvärdet är false.

fetch.output

Styr hur referensuppdateringsstatus skrivs ut. Giltiga värden är full och compact. Standardvärdet är full. Se avsnittet UTMATNING i git-fetch[1] för mer information.

fetch.negotiationAlgorithm

Styr hur information om incheckningar i det lokala förvaret skickas vid förhandling av innehållet i packfilen som ska skickas av servern. Ställ in på consecutive för att använda en algoritm som går över på varandra följande incheckningar och kontrollerar var och en. Ställ in på skipping för att använda en algoritm som hoppar över incheckningar i ett försök att konvergera snabbare, men kan resultera i en packfil som är större än nödvändigt; eller sätt på noop för att inte skicka någon information alls, vilket nästan säkert kommer att resultera i en packfil som är större än nödvändigt, men som hoppar över förhandlingssteget. Ställ in på default för att åsidosätta inställningar som gjorts tidigare och använda standardbeteendet. Standardvärdet är normalt consecutive, men om feature.experimental är true är standardvärdet skipping. Okända värden kommer att orsaka att git fetch ger fel.

Se även alternativen --negotiate-only och --negotiation-tip för git-fetch[1].

fetch.showForcedUpdates

Sätt till false för att aktivera --no-show-forced-updates i kommandona git-fetch[1] och git-pull[1]. Standardvärdet är true.

fetch.parallel

Anger det maximala antalet hämtningsoperationer som ska köras parallellt samtidigt (undermoduler eller fjärrar när --multiple-alternativet i git-fetch[1] är aktivt).

Ett värde på 0 ger en rimlig standardinställning. Om den inte är inställd är standardvärdet 1.

For submodules, this setting can be overridden using the submodule.fetchJobs config setting.

fetch.writeCommitGraph

Sätt till true för att skriva en inchecknings-graph efter varje git fetch-kommando som laddar ner en pack-fil från en fjärr. Med alternativet --split skapar de flesta körningar en mycket liten inchecknings-graph-fil ovanpå den/de befintliga inchecknings-graph-filen/filerna. Ibland slås dessa filer samman och skrivningen kan ta längre tid. Att ha en uppdaterad inchecknings-graph-fil hjälper till att utföra många Git-kommandon, inklusive git merge-base, git push -f och git log --graph. Standardvärdet är false.

fetch.bundleURI

Det här värdet lagrar en URI för att ladda ner Git-objektdata från en bunt-URI innan en stegvis hämtning utförs från den ursprungliga Git-servern. Detta liknar hur alternativet --bundle-uri beter sig i git-clone[1]. git clone --bundle-uri kommer att ställa in värdet fetch.bundleURI om den angivna bunt-URI:n innehåller en bunt-lista som är organiserad för stegvisa hämtningar.

Om du ändrar det här värdet och ditt förvar har ett fetch.bundleCreationToken-värde, ta bort det fetch.bundleCreationToken-värdet innan du hämtar från den nya bunt-URI:n.

fetch.bundleCreationToken

När fetch.bundleURI används för att hämta stegvis från en bunt-lista som använder heuristiken "creationToken", lagrar detta konfigurationsvärde det maximala creationToken-värdet för de nedladdade buntarna. Detta värde används för att förhindra nedladdning av buntar i framtiden om den annonserade creationToken inte är strikt större än detta värde.

Värdena för skapandetoken väljs av leverantören som hanterar den specifika bunt-URI:n. Om du ändrar URI:n vid fetch.bundleURI, se till att ta bort värdet för fetch.bundleCreationToken innan hämtningen.

Warning

Missing sv/config/filter.adoc

See original version for this content.

Warning

Missing sv/config/format.adoc

See original version for this content.

Warning

Missing sv/config/fsck.adoc

See original version for this content.

Warning

Missing sv/config/fsmonitor--daemon.adoc

See original version for this content.

Warning

Missing sv/config/gc.adoc

See original version for this content.

Warning

Missing sv/config/gitcvs.adoc

See original version for this content.

Warning

Missing sv/config/gitweb.adoc

See original version for this content.

Warning

Missing sv/config/gpg.adoc

See original version for this content.

Warning

Missing sv/config/grep.adoc

See original version for this content.

Warning

Missing sv/config/gui.adoc

See original version for this content.

Warning

Missing sv/config/guitool.adoc

See original version for this content.

Warning

Missing sv/config/help.adoc

See original version for this content.

Warning

Missing sv/config/http.adoc

See original version for this content.

Warning

Missing sv/config/i18n.adoc

See original version for this content.

Warning

Missing sv/config/imap.adoc

See original version for this content.

Warning

Missing sv/config/includeif.adoc

See original version for this content.

Warning

Missing sv/config/index.adoc

See original version for this content.

init.templateDir

Ange katalogen från vilken mallarna ska kopieras. (See the "TEMPLATE DIRECTORY" section of git-init[1].)

init.defaultBranch

Tillåter att åsidosätta standardgrennamnet, t.ex. vid initialisering av ett nytt kodförråd.

init.defaultObjectFormat

Tillåter att åsidosätta standardobjektformatet för nya arkiv. Se --object-format= i git-init[1]. Både kommandoradsalternativet och miljövariabeln GIT_DEFAULT_HASH har företräde framför denna konfiguration.

init.defaultRefFormat

Tillåter åsidosättning av standardformatet för referenslagring för nya arkiv. Se --ref-format= i git-init[1]. Både kommandoradsalternativet och miljövariabeln GIT_DEFAULT_REF_FORMAT har företräde framför denna konfiguration.

Warning

Missing sv/config/instaweb.adoc

See original version for this content.

Warning

Missing sv/config/interactive.adoc

See original version for this content.

log.abbrevCommit

Om sant, gör git-log[1], git-show[1], och git-whatchanged[1] anta --abbrev-commit. Du kan åsidosätta detta alternativ med --no-abbrev-commit.

log.date

Ställ in standardläget för datum och tid för log-kommandot. Att ställa in ett värde för log.date liknar att använda git logs --date-alternativ. Se git-log[1] för mer information.

Om formatet är inställt på "auto:foo" och bläddrare används, kommer formatet "foo" att användas för datumformatet. Annars kommer "standard" att användas.

log.decorate

Print out the ref names of any commits that are shown by the log command. Possible values are:

short

referensnamnsprefixen refs/heads/, refs/tags/ och refs/remotes/ skrivs inte ut.

full

det fullständiga referensnamnet (inklusive prefix) skrivs ut.

auto

om utdata går till en terminal, visas referensnamnen som om short hade angetts, annars visas inga referensnamn.

Detta är samma sak som alternativet --decorate i git log.

log.initialDecorationSet

Som standard, visar git log bara dekorationer för vissa kända referensnamnrymder. Om alla anges visas alla referenser som dekorationer.

log.excludeDecoration

Exkludera de angivna mönstren från loggdekorationerna. Detta liknar kommandoradsalternativet --decorate-refs-exclude, men konfigurations-alternativet kan åsidosättas av --decorate-refs.

log.diffMerges

Ställ in diff-formatet som ska användas när --diff-merges=on är specificerat, se --diff-merges i git-log[1] för detaljer. Standardinställningen är separate.

log.follow

Om true kommer git log att agera som om --follow-alternativet användes när en enda <sökväg> anges. Detta har samma begränsningar som --follow, d.v.s. det kan inte användas för att följa flera filer och fungerar inte bra på icke-linjär historik.

log.graphColors

En lista med färger, separerade med kommatecken, som kan användas för att rita historiklinjer i git log --graph.

log.showRoot

Om sant, visas den initiala incheckningen som en stor skapandehändelse. Detta motsvarar en diff mot ett tomt träd. Verktyg som git-log[1] eller git-whatchanged[1], som normalt döljer rot-incheckningen, kommer nu att visa den. Sant som standard.

log.showSignature

Om sant, gör att git-log[1], git-show[1] och git-whatchanged[1] antar --show-signature.

log.mailmap

Om sant, gör att git-log[1], git-show[1] och git-whatchanged[1] antar --use-mailmap, annars antar man --no-use-mailmap. Sant som standard.

Warning

Missing sv/config/lsrefs.adoc

See original version for this content.

Warning

Missing sv/config/mailinfo.adoc

See original version for this content.

Warning

Missing sv/config/mailmap.adoc

See original version for this content.

Warning

Missing sv/config/maintenance.adoc

See original version for this content.

Warning

Missing sv/config/man.adoc

See original version for this content.

merge.conflictStyle

Ange stilen med vilken konfliktfyllda stycken skrivs ut till arbetsträdfiler vid sammanslagning. Standardinställningen är "merge", som visar en <<<<<<< konfliktmarkör, ändringar gjorda av ena sidan, en =======-markör, ändringar gjorda av den andra sidan och sedan en >>>>>>> markör. En alternativ stil, "diff3", lägger till en |||||||| markör och originaltexten före =======-markören. Stilen "merge" tenderar att producera mindre konfliktområden än diff3, både på grund av att originaltexten utesluts och för att när en delmängd av rader matchar på de två sidorna, dras de bara ut ur konfliktområdet. En annan alternativ stil, "zdiff3", liknar diff3 men tar bort matchande rader på de två sidorna från konfliktområdet när dessa matchande rader visas nära antingen början eller slutet av ett konfliktområde.

merge.defaultToUpstream

Om merge anropas utan något inchecknings-argument, sammanfogas de uppströmsgrenar som konfigurerats för den aktuella grenen med hjälp av deras senast observerade värden som lagrats i deras fjärrspårningsgrenar. Värdena för branch.<nuvarande gren>.merge som namnger grenarna på fjärrvärd namngiven av branch.<nuvarande gren>.remote konsulteras, och sedan mappas de via remote.<fjärrvärd>.fetch till deras motsvarande fjärrspårningsgrenar, och topparna för dessa spårningsgrenar sammanfogas. Standardvärdet är sant.

merge.ff

Som standard, skapar Git inte en extra sammanslagnings-incheckningar när den sammanfogar en incheckning som är en underordnad till den topen av aktuell incheckning. Istället snabbspolas spetsen för den aktuella grenen framåt. När den är satt till false, talar denna variabel om för Git att skapa en extra sammanslagnings-incheckning i ett sådant fall (motsvarande att ge alternativet --no-ff från kommandoraden). När den är satt till only, tillåts endast sådana snabbspolnings-sammanslagningar (motsvarande att ge alternativet --ff-only från kommandoraden).

merge.verifySignatures

Om sant, motsvarar detta kommandoradsalternativet --verify-signatures. Se git-merge[1] för mer information.

merge.branchdesc

Förutom grennamnen, fyll i loggmeddelandet med den grenbeskrivningstext som är associerad med dem. Standardvärdet är falskt.

merge.log

Förutom grennamn, fyll i loggmeddelandet med högst det angivna antalet enradsbeskrivningar från de faktiska incheckningar som sammanfogas. Standardvärdet är falskt, och sant är en synonym för 20.

merge.suppressDest

Genom att lägga till en glob som matchar namnen på integrationsgrenar till denna flervärdeskonfigurationsvariabel, kommer standardmeddelandet för sammanslagningar som beräknas för sammanslagningar i dessa integrationsgrenar att utelämna "into <gren-namn>" från titeln.

Ett element med ett tomt värde kan användas för att rensa listan över globs som ackumulerats från tidigare konfigurationsposter. När ingen variabel merge.suppressDest har definierats används standardvärdet master för bakåtkompatibilitet.

merge.renameLimit

Antalet filer som ska beaktas i den uttömmande delen av namnbytesdetektering under en sammanslagning. Om inget anges används standardvärdet diff.renameLimit. Om varken merge.renameLimit eller diff.renameLimit anges används standardvärdet för närvarande 7000. Denna inställning har ingen effekt om namnbytesdetektering är avstängd.

merge.renames

Huruvida Git detekterar namnbyten. Om det är satt till false är namnbytesdetektering inaktiverad. Om det är satt till true är grundläggande namnbytesdetektering aktiverad. Standardvärdet är diff.renames.

merge.directoryRenames

Huruvida Git detekterar katalogbyten, vilket påverkar vad som händer vid sammanslagningstillfället med nya filer som läggs till i en katalog på ena sidan av historiken när den katalogen döptes om på den andra sidan av historiken. Möjliga värden är:

false

Detektering av katalog-namnbyte är inaktiverat, vilket innebär att sådana nya filer kommer att lämnas kvar i den gamla katalogen.

true

Detektering av katalog namnbyte är aktiverat, vilket innebär att sådana nya filer flyttas till den nya katalogen.

conflict

En konflikt kommer att rapporteras för sådana sökvägar.

Om merge.renames är false ignoreras merge.directoryRenames och behandlas som false. Standardvärdet är conflict.

merge.renormalize

Informera Git om att den kanoniska representationen av filer i kodförråd har förändrats över tid (t.ex. tidigare incheckningar registrerade textfiler med CRLF radslut, men nyare använder LF radslut). I ett sådant kodförråd kan Git, för varje fil där en trevägs innehållssammanslagning behövs, konvertera data som registrerats i incheckningar till en kanonisk form innan en sammanslagning utförs för att minska onödiga konflikter. För mer information, se avsnittet "Sammanfoga grenar med olika inchecknings-/utcheckningsattribut" i gitattributes[5].

merge.stat

Vad, om något, ska skrivas ut mellan ORIG_HEAD och sammanslagningsresultatet i slutet av sammanslagningen. Möjliga värden är:

false

Visa ingenting.

true

Visa git diff --diffstat --summary ORIG_HEAD.

compact

Visa git diff --compact-summary ORIG_HEAD.

men alla okända värden (t.ex. ett värde som läggs till av en framtida version av Git) tas som sant istället för att utlösa ett fel. Standardvärdet är sant.

merge.autoStash

När den är satt till true skapas automatiskt en tillfällig gömma-post innan operationen börjar och tillämpas efter att operationen är avslutad. Detta innebär att du kan köra merge på ett smutsigt arbetsträd. Använd dock med försiktighet: den slutliga stash-applikationen efter en lyckad merge kan resultera i icke-triviala konflikter. Detta alternativ kan åsidosättas av alternativen --no-autostash och --autostash i git-merge[1]. Standardvärdet är false.

merge.tool

Kontrollerar vilket sammanslagningsverktyg som används av git-mergetool[1]. Listan nedan visar de giltiga inbyggda värdena. Alla andra värden behandlas som ett anpassat sammanslagningsverktyg och kräver att en motsvarande mergetool.<verktyg>.cmd-variabel definieras.

merge.guitool

Styr vilket sammanslagningsverktyg som används av git-mergetool[1] när flaggan -g/--gui är specificerad. Listan nedan visar de giltiga inbyggda värdena. Alla andra värden behandlas som ett anpassat sammanslagningsverktyg och kräver att en motsvarande variabel mergetool.<gui-verktyg>.cmd definieras.

Warning

Missing sv/config/{build_dir}/mergetools-merge.adoc

See original version for this content.

merge.verbosity

Styr mängden utdata som visas av den rekursiva sammanslagningsstrategin. Nivå 0 matar ut ingenting förutom ett slutligt felmeddelande om konflikter upptäcktes. Nivå 1 matar endast ut konflikter, 2 matar ut konflikter och filändringar. Nivå 5 och högre matar ut felsökningsinformation. Standardinställningen är nivå 2. Kan åsidosättas av miljövariabeln GIT_MERGE_VERBOSITY.

merge.<förare>.name

Definierar ett människoläsbart namn för en anpassad lågnivå-sammanslagningsdrivrutin. Se gitattributes[5] för mer information.

merge.<förare>.driver

Definierar kommandot som implementerar en anpassad lågnivå-sammanslagningsdrivrutin. Se gitattributes[5] för mer information.

merge.<förare>.recursive

Namnger en lågnivå-sammanslagningsdrivrutin som ska användas vid intern sammanslagning mellan gemensamma förfäder. Se gitattributes[5] för mer information.

mergetool.<tool>.path

Åsidosätt sökvägen för det givna verktyget. Detta är användbart om ditt verktyg inte finns i $PATH.

mergetool.<tool>.cmd

Specify the command to invoke the specified merge tool. The specified command is evaluated in shell with the following variables available: BASE is the name of a temporary file containing the common base of the files to be merged, if available; LOCAL is the name of a temporary file containing the contents of the file on the current branch; REMOTE is the name of a temporary file containing the contents of the file from the branch being merged; MERGED contains the name of the file to which the merge tool should write the results of a successful merge.

mergetool.<verktyg>.hideResolved

Tillåter användaren att åsidosätta det globala värdet mergetool.hideResolved för ett specifikt verktyg. Se mergetool.hideResolved för en fullständig beskrivning.

mergetool.<tool>.trustExitCode

För ett anpassat sammanslagnings-kommando anger du om avslutningskoden för sammanfognings-kommandot kan användas för att avgöra om sammanslagningen lyckades. Om detta inte är inställt på sant kontrolleras tidsstämpeln för sammanslagningsmålfilen och sammanslagningen antas ha lyckats om filen har uppdaterats. Annars uppmanas användaren att ange att sammanslagningen lyckades.

mergetool.meld.hasOutput

Äldre versioner av meld stöder inte alternativet --output. Git kommer att försöka upptäcka om meld stöder --output genom att inspektera utdata från meld --help. Om du konfigurerar mergetool.meld.hasOutput hoppar Git över dessa kontroller och använder det konfigurerade värdet istället. Om mergetool.meld.hasOutput ställs in på true får Git att ovillkorligen använda alternativet --output, och false undviker att använda --output.

mergetool.meld.useAutoMerge

När --auto-merge är angivet, kommer meld att sammanfoga alla icke-konfliktande delar automatiskt, markera de motstridiga delarna och vänta på användarens beslut. Om mergetool.meld.useAutoMerge sätts till true anger du att Git villkorslöst ska använda alternativet --auto-merge med meld. Om detta värde sätts till auto detekterar git om --auto-merge stöds och kommer endast att använda --auto-merge när det är tillgängligt. Värdet false undviker att använda --auto-merge helt och hållet, och är standardvärdet.

mergetool.<variant>.layout

Konfigurera layouten för delade fönster för vimdiffs <variant>, vilket är någon av vimdiff, nvimdiff, gvimdiff. Vid start av git mergetool med --tool=<variant> (eller utan --tool om merge.tool är konfigurerad som <variant>), kommer Git att konsultera mergetool.<variant>.layout för att bestämma verktygets layout. Om den variantspecifika konfigurationen inte är tillgänglig används vimdiff som reserv. Om inte heller den är tillgänglig används en standardlayout med 4 fönster. För att konfigurera layouten, se BAKÄNDA-SPECIFIKA TIPS avsnitt i git-mergetool[1].

mergetool.hideResolved

Under en sammanslagning kommer Git automatiskt att lösa så många konflikter som möjligt och skriva $MERGED-filen som innehåller konfliktmarkörer runt eventuella konflikter som den inte kan lösa; $LOCAL och $REMOTE är normalt versionerna av filen från före Gits konfliktlösning. Denna flagga gör att $LOCAL och $REMOTE skrivs över så att endast de olösta konflikterna presenteras för sammanslagningsverktyget. Kan konfigureras per verktyg via konfigurationsvariabeln mergetool.<verktyg>.hideResolved. Standardvärdet är false.

mergetool.keepBackup

Efter att en sammanslagning har utförts kan originalfilen med konfliktmarkörer sparas som en fil med filändelsen .orig. Om variabeln är satt till false bevaras inte filen. Standardvärdet är sant (dvs. behåll säkerhetskopiorna).

mergetool.keepTemporaries

När ett anpassat sammanslagningsverktyg anropas använder Git en uppsättning temporära filer för att skicka till verktyget. Om verktyget returnerar ett fel och denna variabel är satt till true, kommer dessa temporära filer att bevaras; annars kommer de att tas bort efter att verktyget har avslutats. Standardvärdet är false.

mergetool.writeToTemp

Git skriver som standard temporära BASE-, LOCAL- och REMOTE-versioner av motstridiga filer i arbetsträdet. Git kommer att försöka använda en temporär katalog för dessa filer när true är satt. Standardvärdet är false.

mergetool.prompt

Prompt before each invocation of the merge resolution program.

mergetool.guiDefault

Sätt true för att använda merge.guitool som standard (motsvarande att ange argumentet --gui), eller auto för att välja merge.guitool eller merge.tool beroende på förekomsten av ett DISPLAY miljövariabelvärde. Standardvärdet är false, där argumentet --gui måste anges explicit för att merge.guitool ska kunna användas.

notes.mergeStrategy

Vilken sammanslagningsstrategi som ska väljas som standard vid lösande av anteckningskonflikter. Måste vara en av manual, ours, theirs, union eller cat_sort_uniq. Standardinställningen är manual. Se avsnittet "ANTECKNINGAR SAMMANSLAGNINGSSTRATEGIER" i git-notes[1] för mer information om varje strategi.

Den här inställningen kan åsidosättas genom att skicka --strategy-alternativet till git-notes[1].

notes.<name>.mergeStrategy

Vilken sammanslagningsstrategi man ska välja när man sammanfogar anteckningar med refs/notes/<namn>. Detta åsidosätter den mer generella notes.mergeStrategy. Se avsnittet "ANTECKNINGAR SAMMANSLAGNINGSSTRATEGIER" i git-notes[1] för mer information om tillgängliga strategier.

notes.displayRef

Vilken referens (eller referenser, om en glob eller angetts mer än en gång), utöver standardvärdet som anges av core.notesRef eller GIT_NOTES_REF, som anteckningar ska läsas från när inchecknings-meddelanden visas med kommandofamiljen git log.

Den här inställningen kan åsidosättas med miljövariabeln GIT_NOTES_DISPLAY_REF, som måste vara en kolonseparerad lista med referenser eller globs.

En varning kommer att utfärdas för referenser som inte finns, men en glob som inte matchar några referenser ignoreras tyst.

Den här inställningen kan inaktiveras med alternativet --no-notes till kommandofamiljen git-log[1], eller med alternativet --notes=<ref> som accepteras av dessa kommandon.

Det effektiva värdet för core.notesRef (eventuellt åsidosatt av GIT_NOTES_REF) läggs också implicit till i listan över referenser som ska visas.

notes.rewrite.<kommando>

När man skriver om incheckningar med <kommando> (för närvarande amend eller rebase), och variabeln är false, kommer git inte att kopiera anteckningar från originalet till den omskrivna incheckningen. Standardvärdet är true. Se även notes.rewriteRef nedan.

Den här inställningen kan åsidosättas med miljövariabeln GIT_NOTES_REWRITE_REF, som måste vara en kolonseparerad lista med referenser eller globs.

notes.rewriteMode

När anteckningar kopieras under en omskrivning (se alternativet notes.rewrite.<kommando>), avgör detta vad som ska göras om mål-incheckningen redan har en anteckning. Måste vara en av overwrite, concatenate, cat_sort_uniq eller ignore. Standardvärdet är concatenate.

Den här inställningen kan åsidosättas med miljövariabeln GIT_NOTES_REWRITE_MODE.

notes.rewriteRef

När anteckningar kopieras under en omskrivning, anger detta den (fullständigt kvalificerade) referens vars anteckningar ska kopieras. Kan vara en glob, i vilket fall anteckningar i alla matchande referenser kommer att kopieras. Du kan också ange denna konfiguration flera gånger.

Har inget standardvärde; du måste konfigurera den här variabeln för att aktivera omskrivning av anteckningar. Ställ in den på refs/notes/commits för att aktivera omskrivning för standard incheckning anteckningarna.

Kan åsidosättas med miljövariabeln GIT_NOTES_REWRITE_REF. Se notes.rewrite.<kommando> ovan för en ytterligare beskrivning av dess format.

Warning

Missing sv/config/pack.adoc

See original version for this content.

Warning

Missing sv/config/pager.adoc

See original version for this content.

Warning

Missing sv/config/pretty.adoc

See original version for this content.

Warning

Missing sv/config/promisor.adoc

See original version for this content.

Warning

Missing sv/config/protocol.adoc

See original version for this content.

Warning

Missing sv/config/pull.adoc

See original version for this content.

push.autoSetupRemote

Om satt till true antas --set-upstream vara standard push när ingen uppströmsspårning finns för den aktuella grenen; detta alternativ träder i kraft med push.default-alternativen simple, upstream och current. Det är användbart om du som standard vill att nya grenar ska pushas till standardfjärren (som beteendet hos push.default=current) och du också vill att uppströmsspårningen ska vara inställd. Arbetsflöden som sannolikt kommer att dra nytta av detta alternativ är enkla centrala arbetsflöden där alla grenar förväntas ha samma namn på fjärren.

push.default

Definierar åtgärden git push ska utföra om ingen refspec anges (vare sig från kommandoraden, konfigurationen eller någon annanstans). Olika värden är väl lämpade för specifika arbetsflöden; till exempel, i ett rent centralt arbetsflöde (dvs. hämtningskällan är lika med push-destinationen) är upstream förmodligen vad du vill ha. Möjliga värden är:

nothing

do not push anything (error out) unless a refspec is given. This is primarily meant for people who want to avoid mistakes by always being explicit.

current

skicka (push) den aktuella grenen för att uppdatera en gren med samma namn i mottagaränden. Fungerar i både centrala och icke-centrala arbetsflöden.

upstream

skicka (push) den aktuella grenen tillbaka till den gren vars ändringar vanligtvis är integrerade i den aktuella grenen (som kallas @{upstream}). Det här läget är bara meningsfullt om du skickar till samma arkiv som du normalt skulle hämta från (dvs. centralt arbetsflöde).

tracking

this is a deprecated synonym for upstream.

simple

push the current branch with the same name on the remote.

Om du arbetar med ett centraliserat arbetsflöde (push:ar till samma förvar som du hämtar från, vilket vanligtvis är origin), måste du konfigurera en uppströmsgren med samma namn.

Det här läget är standardläget sedan Git 2.0 och är det säkraste alternativet som passar nybörjare.

matching

skicka (push) alla grenar med samma namn i båda ändar. Detta gör att arkivet du skickar kommer ihåg uppsättningen grenar som kommer att skickas ut (t.ex. om du alltid skickar maint och master där och inga andra grenar, kommer arkivet du skickar till att ha dessa två grenar, och dina lokala maint och master kommer att skickas dit).

För att använda det här läget effektivt måste du se till att alla grenar du vill skicka ut är redo att skickas ut innan du kör git push, eftersom hela poängen med det här läget är att låta dig skicka alla grenar på en gång. Om du vanligtvis bara avslutar arbetet på en gren och skickar ut resultatet, medan andra grenar är oavslutade, är det här läget inte för dig. Det här läget är inte heller lämpligt för att skicka till ett delat centralt arkiv, eftersom andra personer kan lägga till nya grenar där, eller uppdatera toppen på befintliga grenar utanför din kontroll.

Detta brukade vara standardinställningen, men inte sedan Git 2.0 (simple är den nya standardinställningen).

push.followTags

Om den är satt till sant, aktivera alternativet --follow-tags som standard. Du kan åsidosätta denna konfiguration vid skicka-tillfället (push) genom att ange --no-follow-tags.

push.gpgSign

Kan sättas till ett booleskt värde, eller strängen if-asked. Ett sant värde gör att alla sändningar (push) GPG-signeras, som om --signed skickas till git-push[1]. Strängen if-asked gör att push-filer signeras om servern stöder det, som om --signed=if-asked skickas till git push. Ett falskt värde kan åsidosätta ett värde från en konfigurationsfil med lägre prioritet. En explicit kommandoradsflagga åsidosätter alltid detta konfigurationsalternativ.

push.pushOption

När inget --push-option=<alternativ>-argument anges från kommandoraden, beter sig git push som om varje <alternativ> i denna variabel anges som --push-option=<alternativ>.

Detta är en variabel med flera värden, och ett tomt värde kan användas i en konfigurationsfil med högre prioritet (t.ex. .git/config i ett förvar) för att rensa värden som ärvts från konfigurationsfiler med lägre prioritet (t.ex. $HOME/.gitconfig).

Exempel:

/etc/gitconfig
  push.pushoption = a
  push.pushoption = b

~/.gitconfig
  push.pushoption = c

repo/.git/config
  push.pushoption =
  push.pushoption = b

Detta kommer att resultera i att endast b (a och c är nollställda).
push.recurseSubmodules

Kan vara check, on-demand, only eller no, med samma beteende som push --recurse-submodules. Om inte angivet används no som standard, såvida inte submodule.recurse är angivet (i vilket fall ett true-värde betyder on-demand).

push.useForceIfIncludes

Om den är satt till true motsvarar det att ange --force-if-includes som ett alternativ till git-push[1] i kommandoraden. Att lägga till --no-force-if-includes vid tidpunkten för push åsidosätter denna konfigurations-inställning.

push.negotiate

Om värdet är satt till true, försök att minska storleken på packfilen som skickas genom förhandlingsrundor där klienten och servern försöker hitta gemensamma incheckningar. Om false kommer Git att förlita sig enbart på serverns referensannonsering för att hitta gemensamma incheckningar.

push.useBitmaps

Om satt till false, inaktiveras användningen av bitmappar för git push även om pack.useBitmaps är true, utan att förhindra att andra git-operationer använder bitmappar. Standardvärdet är true.

rebase.backend

Standard-bakända att använda för ombasering. Möjliga val är apply (tillämpa) eller merge (sammanslå). Om sammanfognings-bakändan i framtiden får alla återstående funktioner från tillämpa-bakändan , kan den här inställningen bli oanvänd.

rebase.stat

Whether to show a diffstat of what changed upstream since the last rebase. False by default.

rebase.autoSquash

Om satt till sant, aktivera alternativet --autosquash i git-rebase[1] som standard för interaktivt läge. Detta kan åsidosättas med alternativet --no-autosquash.

rebase.autoStash

När den är satt till sant, skapas automatiskt en tillfällig gömma-post innan operationen börjar, och tillämpas efter att operationen är avslutad. Detta innebär att du kan köra rebase på ett smutsigt arbetsträd. Använd dock försiktigt: den slutliga gömma-applikationen efter en lyckad ombasering kan resultera i icke-triviala konflikter. Detta alternativ kan åsidosättas av alternativen --no-autostash och --autostash i git-rebase[1]. Standardvärdet är falskt.

rebase.updateRefs

Om satt till sant aktiveras alternativet --update-refs som standard.

rebase.missingCommitsCheck

Om satt till "warn" (varna), kommer git rebase -i att skriva ut en varning om vissa incheckningar tas bort (t.ex. om en rad raderades), men ombaseringen kommer fortfarande att fortsätta. Om satt till "error" kommer den att skriva ut den föregående varningen och stoppa ombaseringen. git rebase --edit-todo kan sedan användas för att korrigera felet. Om satt till "ignore" görs ingen kontroll. För att ta bort en incheckning utan varning eller fel, använd kommandot drop i att-göra-listan. Standardinställningen är "ignore".

rebase.instructionFormat

En formatsträng, som specificerad i git-log[1], som ska användas för att-göra-listan under en interaktiv ombasering. Formatet kommer automatiskt att ha inchecknings-hashen till formatet.

rebase.abbreviateCommands

Om satt till sant, kommer git rebase att använda förkortade kommandonamn i att-göra-listan vilket resulterar i något liknande:

	p deadbee The oneline of the commit
	p fa1afe1 The oneline of the next commit
	...

i stället för:

	pick deadbee The oneline of the commit
	pick fa1afe1 The oneline of the next commit
	...

Standardvärdet är falskt.

rebase.rescheduleFailedExec

Schemalägg automatiskt exec-kommandon som misslyckades. Detta är bara logiskt i interaktivt läge (eller när ett --exec-alternativ angavs). Detta är samma sak som att ange --reschedule-failed-exec-alternativet.

rebase.forkPoint

Om den är satt till falskt, sätt alternativet --no-fork-point som standard.

rebase.rebaseMerges

Om och hur alternativet --rebase-merges ska ställas in som standard. Kan vara rebase-cousins, no-rebase-cousins eller ett booleskt värde. Att sätta till true eller no-rebase-cousins motsvarar --rebase-merges=no-rebase-cousins, att sätta till rebase-cousins motsvarar --rebase-merges=rebase-cousins, och att sätta till false(falsk) motsvarar --no-rebase-merges. Att skicka --rebase-merges på kommandoraden, med eller utan ett argument, åsidosätter alla rebase.rebaseMerges-konfigurationer.

rebase.maxLabelLength

Vid generering av etikettnamn från inlämningsrubriker, korta av namnen till denna längd. Som standard kortas namnen av till något mindre än NAME_MAX (för att tillåta att exempelvis .lock-filer kan skrivas för motsvarande lösa referenser).

Warning

Missing sv/config/receive.adoc

See original version for this content.

Warning

Missing sv/config/reftable.adoc

See original version for this content.

Warning

Missing sv/config/remote.adoc

See original version for this content.

Warning

Missing sv/config/remotes.adoc

See original version for this content.

Warning

Missing sv/config/repack.adoc

See original version for this content.

Warning

Missing sv/config/rerere.adoc

See original version for this content.

Warning

Missing sv/config/revert.adoc

See original version for this content.

Warning

Missing sv/config/safe.adoc

See original version for this content.

Warning

Missing sv/config/sendemail.adoc

See original version for this content.

sequence.editor

Textredigerare som används av git rebase -i för att redigera instruktionsfilen för ombasering. Värdet är avsett att tolkas av skalet när det används. Det kan åsidosättas av miljövariabeln GIT_SEQUENCE_EDITOR. När den inte är konfigurerad, används standardredigeraren för inchecknings-meddelanden istället.

Warning

Missing sv/config/showbranch.adoc

See original version for this content.

Warning

Missing sv/config/sparse.adoc

See original version for this content.

Warning

Missing sv/config/splitindex.adoc

See original version for this content.

Warning

Missing sv/config/ssh.adoc

See original version for this content.

stash.index

Om detta är satt till sant, kommer git stash apply och git stash pop att bete sig som om --index angavs. Standardvärdet är falskt. See the descriptions in git-stash[1].

Detta påverkar även anrop av git-stash[1] via --autostash från kommandon som git-merge[1], git-rebase[1] och git-pull[1].

stash.showIncludeUntracked

Om detta är satt till sant, kommer kommandot git stash show att visa de ospårade filerna från en gömma-post. Standardvärdet är falskt. See the description of the 'show' command in git-stash[1].

stash.showPatch

Om detta är satt till sant, kommer kommandot git stash show utan ett alternativ att visa gömma-posten i patch-format. Standardvärdet är falskt. See the description of the 'show' command in git-stash[1].

stash.showStat

Om detta är satt till sant, kommer kommandot git stash show utan ett alternativ att visa en diffstat för gömma-posten. Standardinställningen är sant. See the description of the 'show' command in git-stash[1].

Warning

Missing sv/config/status.adoc

See original version for this content.

Warning

Missing sv/config/submodule.adoc

See original version for this content.

tag.forceSignAnnotated

Ett booleskt värde som anger om skapade annoterade taggar ska vara GPG-signerade. Om --annotate anges på kommandoraden har det företräde framför detta alternativ.

tag.sort

Denna variabel styr sorteringsordningen för taggar när de visas av git-tag[1]. Utan alternativet --sort=<value> anges, kommer värdet på denna variabel att användas som standard.

tag.gpgSign

En booleskt värde som anger om alla taggar ska GPG-signeras. Användning av det här alternativet när du kör i ett automatiserat skript kan resultera i att ett stort antal taggar signeras. Det är därför bekvämt att använda en agent för att undvika att skriva in din GPG-lösenfras flera gånger. Observera att det här alternativet inte påverkar taggsigneringsbeteendet som aktiveras av alternativen -u <keyid> eller --local-user=<keyid>.

Warning

Missing sv/config/tar.adoc

See original version for this content.

Warning

Missing sv/config/trace2.adoc

See original version for this content.

Warning

Missing sv/config/trailer.adoc

See original version for this content.

Warning

Missing sv/config/transfer.adoc

See original version for this content.

Warning

Missing sv/config/uploadarchive.adoc

See original version for this content.

Warning

Missing sv/config/uploadpack.adoc

See original version for this content.

Warning

Missing sv/config/url.adoc

See original version for this content.

Warning

Missing sv/config/user.adoc

See original version for this content.

Warning

Missing sv/config/versionsort.adoc

See original version for this content.

Warning

Missing sv/config/web.adoc

See original version for this content.

worktree.guessRemote

Om ingen gren anges och varken -b, -B eller --detach används, skapar git worktree add som standard en ny gren från HEAD. Om worktree.guessRemote är satt till sant, försöker worktree add hitta en fjärrspårningsgren vars namn unikt matchar det nya grennamnet. Om en sådan gren finns, checkas den ut och sätts som "uppströms" för den nya grenen. Om ingen sådan matchning kan hittas, återgår den till att skapa en ny gren från den aktuella HEAD.

worktree.useRelativePaths

Länka arbetsträd med relativa sökvägar (när "true") eller absoluta sökvägar (när "false"). Detta är särskilt användbart för inställningar där förvaret och arbetsträden kan flyttas mellan olika platser eller miljöer. Standardvärdet är "false".

Observera att om du ställer in worktree.useRelativePaths till "true" aktiveras konfigurationen extensions.relativeWorktrees (se git-config[1]), vilket gör den inkompatibel med äldre versioner av Git.

BUGGAR

När man använder den föråldrade syntaxen [section.subsection] kommer ändring av ett värde att resultera i att en flerradig nyckel läggs till istället för en ändring, om underavsnittet anges med minst en versal. Till exempel när konfigurationen ser ut så här

  [sektion.undersecktion]
    nyckel = värde1

och att köra git config sektion.Undersektion.key värde2 kommer att resultera i

  [sektion.undersecktion]
    nyckel = värde1
    nyckel = värde2

GIT

En del av git[1]-sviten