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

NAMN

git - den dumma innehållsspåraren

SYNOPSIS

git [-v | --version] [-h |--help] [-C <sökväg>] [-c <namn>=<värde>]
           [--exec-path[=<sökväg>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--no-lazy-fetch]
           [--no-optional-locks] [--no-advice] [--bare] [--git-dir=<sökväg>]
           [--work-tree=<sökväg>] [--namespace=<namn>] [--config-env=<namn>=<miljövar>]
           <kommando> [<flaggor>]

BESKRIVNING

Git är ett snabbt, skalbart, distribuerat revisionskontrollsystem med en ovanligt rik kommandouppsättning som ger både övergripande operationer och fullständig åtkomst till interna funktioner.

See gittutorial[7] to get started, then see giteveryday[7] for a useful minimum set of commands. The Git User’s Manual has a more in-depth introduction.

När du bemästrar de grundläggande koncepten kan du återvända till den här sidan för att lära dig vilka kommandon Git erbjuder. Du kan lära dig mer om enskilda Git-kommandon med "git help command". Manualsidan för gitcli[7] ger dig en översikt över kommandoradssyntaxen.

En formaterad och hyperlänkad kopia av den senaste Git-dokumentationen kan ses på https://git.github.io/htmldocs/git.html eller https://git-scm.com/docs.

ALTERNATIV

-v
--version

Skriver ut Git-svitversionen som git-programmet kom från.

Det här alternativet konverteras internt till git version ... och accepterar samma alternativ som kommandot git-version[1]. Om --help också anges har det företräde framför --version.

-h
--help

Skriver ut synopsis och en lista över de vanligaste kommandona. Om alternativet --all eller -a anges skrivs alla tillgängliga kommandon ut. Om ett Git-kommando namnges kommer det här alternativet att visa manualsidan för det kommandot.

Andra alternativ finns tillgängliga för att kontrollera hur manualsidan visas. Se git-help[1] för mer information, eftersom git --help ... konverteras internt till git help ....

-C <sökväg>

Kör som om git startades i <sökväg> istället för den aktuella arbetskatalogen. När flera -C-alternativ anges, tolkas varje efterföljande icke-absolut -C <sökväg> relativt till föregående -C <sökväg>. Om <sökväg> finns men är tom, t.ex. -C "", lämnas den aktuella arbetskatalogen oförändrad.

Det här alternativet påverkar alternativ som förväntar sig sökvägsnamn som --git-dir och --work-tree, i det att deras tolkningar av sökvägsnamnen skulle göras relativa till arbetskatalogen som orsakas av alternativet -C. Till exempel är följande anrop likvärdiga:

git --git-dir=a.git --work-tree=b -C c status
git --git-dir=c/a.git --work-tree=c/b status
-c <namn>=<värde>

Skicka en konfigurationsparameter till kommandot. Det angivna värdet åsidosätter värden från konfigurationsfiler. <namn> förväntas ha samma format som listas av git config (undernycklar separerade med punkter).

Observera att det är tillåtet att utelämna = i git -c foo.bar ... och sätter foo.bar till det booleska värdet sant (precis som [foo]bar skulle göra i en konfigurationsfil). Om man inkluderar lika med men med ett tomt värde (som git -c foo.bar= ...) sätter man foo.bar till den tomma strängen som git config --type=bool kommer att konvertera till false.

--config-env=<namn>=<mijövar>

Precis som med -c <namn>=<värde>, ge konfigurationsvariabeln <namn> ett värde, där <mijövar> är namnet på en miljövariabel från vilken värdet ska hämtas. Till skillnad från -c finns det ingen genväg för att direkt sätta värdet till en tom sträng, istället måste själva miljövariabeln sättas till den tomma strängen. Det är ett fel om <mijövar> inte finns i miljön. <mijövar> får inte innehålla ett likhetstecken för att undvika tvetydighet då <namn> innehåller ett.

Detta är användbart i fall där du vill skicka tillfälliga konfigurationsalternativ till git, men gör det på operativsystem där andra processer kanske kan läsa din kommandorad (t.ex. /proc/self/cmdline), men inte din miljö (t.ex. /proc/self/environ). Det beteendet är standard på Linux, men kanske inte finns på ditt system.

Observera att detta kan öka säkerheten för variabler som http.extraHeader där den känsliga informationen är en del av värdet, men inte t.ex. url.<bas>.insteadOf där den känsliga informationen kan vara en del av nyckeln.

--exec-path[=<sökväg>]

Sökväg till var dina kärnprogram i Git är installerade. Detta kan också styras genom att ställa in miljövariabeln GIT_EXEC_PATH. Om ingen sökväg anges kommer git att skriva ut den aktuella inställningen och sedan avsluta.

--html-path

Skriv ut sökvägen, utan avslutande snedstreck, där Gits HTML-dokumentation är installerad och avsluta.

--man-path

Skriv ut manualsökvägen (se man(1)) för manualsidorna för den här versionen av Git och avsluta.

--info-path

Skriv ut sökvägen där infofilerna som dokumenterar den här versionen av Git är installerade och avsluta.

-p
--paginate

Skicka all utdata till less (eller om angivet, $PAGER) om standardutdata är en terminal. Detta åsidosätter konfigurationsalternativen för pager.<cmd> (se avsnittet "Konfigurationsmekanism" nedan).

-P
--no-pager

Skicka inte Git-utdata till en bläddrare.

--git-dir=<sökväg>

Ange sökvägen till arkivet (".git"-katalogen). Detta kan också styras genom att ange miljövariabeln GIT_DIR. Det kan vara en absolut sökväg eller en relativ sökväg till den aktuella arbetskatalogen.

Att ange platsen för katalogen ".git" med hjälp av det här alternativet (eller miljövariabeln GIT_DIR) stänger av förvar-upptäckten som försöker hitta en katalog med underkatalogen ".git" (vilket är hur förvaret och den översta nivån i arbetsträdet upptäcks), och talar om för Git att du är på den översta nivån i arbetsträdet. Om du inte är på den översta nivån i arbetskatalogen, bör du tala om för Git var den översta nivån i arbetskatalogen finns, med alternativet --work-tree=<sökväg> (eller miljövariabeln GIT_WORK_TREE)

Om du bara vill köra git som om det startades i <sökväg>, använd då git -C <sökväg>.

--work-tree=<sökväg>

Set the path to the working tree. It can be an absolute path or a path relative to the current working directory. This can also be controlled by setting the GIT_WORK_TREE environment variable and the core.worktree configuration variable (see core.worktree in git-config[1] for a more detailed discussion).

--namespace=<sökväg>

Ställ in Git-namnrymden. Se gitnamespaces[7] för mer information. Motsvarar att ställa in miljövariabeln GIT_NAMESPACE.

--bare

Behandla förvaret som ett rent bart förvar. Om GIT_DIR-miljön inte är inställd, sätts den till den aktuella arbetskatalogen.

--no-replace-objects

Använd inte ersättningsreferenser för att ersätta Git-objekt. Detta motsvarar att exportera miljövariabeln GIT_NO_REPLACE_OBJECTS med valfritt värde. Se git-replace[1] för mer information.

--no-lazy-fetch

Hämta inte saknade objekt från promisor-fjärr på begäran. Användbart tillsammans med git cat-file -e <objekt> för att se om objektet är lokalt tillgängligt. Detta motsvarar att sätta miljövariabeln GIT_NO_LAZY_FETCH till 1.

--no-optional-locks

Utför inte valfria operationer som kräver lås. Detta motsvarar att sätta GIT_OPTIONAL_LOCKS till 0.

--no-advice

Inaktivera utskrift av alla rådtips.

--literal-pathspecs

Behandla sökvägsspec bokstavligt (dvs. ingen globbing, ingen pathspec-magi). Detta motsvarar att sätta miljövariabeln GIT_LITERAL_PATHSPECS till 1.

--glob-pathspecs

Lägg till "glob"-magi till alla sökvägsspec. Detta motsvarar att sätta miljövariabeln GIT_GLOB_PATHSPECS till 1. Globbing kan inaktiveras på individuella sökvägsspecar med sökvägsspec-magin ":(literal)"

--noglob-pathspecs

Lägg till "literal" magi till alla sökvägsspecar. Detta motsvarar att sätta miljövariabeln GIT_NOGLOB_PATHSPECS till 1. Att aktivera globbing på individuella pathspecs kan göras med pathspec magic ":(glob)"

--icase-pathspecs

Lägg till "icase"-magi till alla sökvägsspecar. Detta motsvarar att sätta miljövariabeln GIT_ICASE_PATHSPECS till 1.

--list-cmds=<grupp>[,<grupp>…​]

Lista kommandon efter grupp. Detta är ett internt/experimentellt alternativ och kan komma att ändras eller tas bort i framtiden. Grupper som stöds är: builtins, parseopt (inbyggda kommandon som använder parse-alternativ), deprecated (föråldrade inbyggda kommandon), main (alla kommandon i libexec-katalogen), others (alla andra kommandon i $PATH som har git-prefixet), list-<kategori> (se kategorier i command-list.txt), nohelpers (exkluderar hjälpkommandon), alias och config (hämtar kommandolista från konfigurationsvariabeln completion.commands)

--attr-source=<trädlikt>

Läs gitattributes från <trädlikt> istället för arbetsträdet. Se gitattributes[5]. Detta motsvarar att ställa in miljövariabeln GIT_ATTR_SOURCE.

GIT-KOMMANDON

Vi delar in Git i högnivåkommandon ("porslinskommandon") och lågnivå- ("rörmokeri-") kommandon".

Högnivåkommandon (porslin)

Vi delar upp porslinskommandona i huvudkommandon och några hjälpprogram.

Main porcelain commands

Warning

Missing sv/{build_dir}/cmds-mainporcelain.adoc

See original version for this content.

Tilläggskommandon

Manipulatörer:

Warning

Missing sv/{build_dir}/cmds-ancillarymanipulators.adoc

See original version for this content.

Interrogators:

Warning

Missing sv/{build_dir}/cmds-ancillaryinterrogators.adoc

See original version for this content.

Interaktion med andra

Dessa kommandon är till för att interagera med främmande SCM och med andra personer via patch via e-post.

Warning

Missing sv/{build_dir}/cmds-foreignscminterface.adoc

See original version for this content.

Nollställ, återställ och ångring

Det finns tre kommandon med liknande namn: git reset, git restore och git revert.

  • git-revert[1] handlar om att skapa en ny incheckning som återställer ändringar gjorda av andra incheckning.

  • git-restore[1] handlar om att återställa filer i arbetskatalog från antingen indexet eller en annan incheckning. Det här kommandot uppdaterar inte din gren. Kommandot kan också användas för att återställa filer i indexet från en annan incheckning.

  • git-reset[1] handlar om att uppdatera din branch, flytta topen för att lägga till eller ta bort incheckningar från grenen. Denna operation ändrar inchecknings-historiken.

    git reset kan också användas för att återställa indexet, överlappande med git restore.

Lågnivåkommandon (rörmokeri)

Även om Git inkluderar sitt eget porslinslager, är dess lågnivåkommandon tillräckliga för att stödja utvecklingen av alternativa porslinstyper. Utvecklare av sådana porslinstyper kan börja med att läsa om git-update-index[1] och git-read-tree[1].

Gränssnittet (indata, utdata, uppsättning alternativ och semantiken) till dessa lågnivåkommandon är avsedda att vara mycket mer stabilt än kommandon på porslinsnivå, eftersom dessa kommandon främst är för skriptbaserad användning. Gränssnittet till porslinskommandon kan däremot komma att ändras för att förbättra slutanvändarupplevelsen.

Följande beskrivning delar upp lågnivåkommandon i kommandon som manipulerar objekt (i förvar, indexet och arbetskatalog), kommandon som förhör och jämför objekt, och kommandon som flyttar objekt och referenser mellan arkiv.

Manipulationskommandon

Warning

Missing sv/{build_dir}/cmds-plumbingmanipulators.adoc

See original version for this content.

Förhörskommandon

Warning

Missing sv/{build_dir}/cmds-plumbinginterrogators.adoc

See original version for this content.

I allmänhet berör inte förhörs-kommandon filerna i arbetskatalogen.

Synkronisera förvar

Warning

Missing sv/{build_dir}/cmds-synchingrepositories.adoc

See original version for this content.

Följande är hjälpkommandon som används av ovanstående; slutanvändare använder dem vanligtvis inte direkt.

Warning

Missing sv/{build_dir}/cmds-synchelpers.adoc

See original version for this content.

Interna hjälpkommandon

Dessa är interna hjälpkommandon som används av andra kommandon; slutanvändare använder dem vanligtvis inte direkt.

Warning

Missing sv/{build_dir}/cmds-purehelpers.adoc

See original version for this content.

Guider

Följande dokumentationssidor är guider om Git-koncept.

Warning

Missing sv/{build_dir}/cmds-guide.adoc

See original version for this content.

Gränssnitt för förvar, kommandon och filer

Denna dokumentation diskuterar gränssnitt för förvar och kommandon som användare förväntas interagera direkt med. Se --user-formats i git-help[1] för mer information om kriterierna.

Warning

Missing sv/{build_dir}/cmds-userinterfaces.adoc

See original version for this content.

Filformat, protokoll och andra utvecklargränssnitt

Denna dokumentation diskuterar filformat, över kabeln-protokoll och andra Git-utvecklargränssnitt. Se --developer-interfaces i git-help[1].

Warning

Missing sv/{build_dir}/cmds-developerinterfaces.adoc

See original version for this content.

Konfigurationsmekanism

Git använder ett enkelt textformat för att lagra anpassningar som är per förvar och per användare. En sådan konfigurationsfil kan se ut så här:

#
# Ett '#'- eller ';'-teckne anger en kommentar.
#

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

; användaridentitet
[user]
	name = "Junio C Hamano"
	email = "[email protected]"

Olika kommandon läses från konfigurationsfilen och justerar sin funktion därefter. Se git-config[1] för en lista och mer information om konfigurationsmekanismen.

Identifierare Terminologi

<objekt>

Anger objektnamnet för alla typer av objekt.

<blob>

Anger ett blob-objektnamn.

<träd>

Indikerar ett trädobjektnamn.

<incheckning>

Indikerar ett inchecknings-objektnamn.

<trädlikt>

Indikerar ett träd-, inchecknings- eller taggobjektnamn. Ett kommando som tar ett <trädlikt>-argument vill i slutändan operera på ett <tree>-objekt men avreferenserar automatiskt <inchecknings>- och <tag>-objekt som pekar på ett <träd>.

<inchecknings-aktig>

Indikerar ett inchecknings- eller tag-objektnamn. Ett kommando som tar ett <inchecknings-aktig>-argument vill i slutändan utföra en åtgärd på ett <inchecknings>-objekt men avreferenserar automatiskt <tag>-objekt som pekar på en <incheckning>.

<typ>

Indikerar att en objekttyp krävs. För närvarande en av: blob, tree, commit eller tag.

<fil>

Indikerar ett filnamn - nästan alltid relativt till roten av trädstrukturen som GIT_INDEX_FILE beskriver.

Symboliska identifierare

Alla Git-kommandon som accepterar valfritt <objekt> kan också använda följande symboliska notation:

HEAD

indikerar chefen för den nuvarande grenen.

<tagg>

ett giltigt tagg-namn (dvs. en refs/tags/<tag>-referens).

<huvud>

ett giltigt huvud-namn (dvs. en refs/heads/<huvud>-referens).

För en mer komplett lista över hur man stavar objektnamn, se avsnittet "SPECIFICERING AV REVISIONER" i gitrevisions[7].

Fil-/katalogstruktur

Se dokumentet gitrepository-layout[5].

Läs githooks[5] för mer information om varje krok.

SCM:er på högre nivå kan tillhandahålla och hantera ytterligare information i $GIT_DIR.

Terminologi

Please see gitglossary[7].

Miljövariabler

Various Git commands pay attention to environment variables and change their behavior. The environment variables marked as "Boolean" take their values the same way as Boolean valued configuration variables, i.e., "true", "yes", "on" and positive numbers are taken as "yes", while "false", "no", "off", and "0" are taken as "no".

Här är variablerna:

System

HOME

Anger sökvägen till användarens hemkatalog. Om den inte är inställd i Windows kommer Git att sätta en processmiljövariabel lika med: $HOMEDRIVE$HOMEPATH om både $HOMEDRIVE och $HOMEPATH finns; annars $USERPROFILE om $USERPROFILE finns.

Git-förvar

Dessa miljövariabler gäller för "alla" centrala Git-kommandon. Obs: det är värt att notera att de kan användas/åsidosättas av SCMS som sitter ovanför Git, så var försiktig om du använder ett främmande framända.

GIT_INDEX_FILE

Denna miljövariabel anger en alternativ indexfil. Om den inte anges används standardvärdet $GIT_DIR/index.

GIT_INDEX_VERSION

Denna miljövariabel anger vilken indexversion som används när indexfilen skrivs ut. Den påverkar inte befintliga indexfiler. Som standard används indexfilversion 2 eller 3. Se git-update-index[1] för mer information.

GIT_OBJECT_DIRECTORY

Om objektlagringskatalogen anges via denna miljövariabel skapas sha1-katalogerna under - annars används standardkatalogen $GIT_DIR/objects.

GIT_ALTERNATE_OBJECT_DIRECTORIES

På grund av Git-objektens oföränderliga natur kan gamla objekt arkiveras i delade, skrivskyddade kataloger. Denna variabel anger en ":"-separerad (i Windows ";"-separerad) lista över Git-objektkataloger som kan användas för att söka efter Git-objekt. Nya objekt kommer inte att skrivas till dessa kataloger.

Poster som börjar med " (dubbla citattecken) tolkas som C-liknande citattecken, vilket tar bort inledande och efterföljande dubbla citattecken och respekterar omvända snedstreck. Till exempel har värdet "sökväg-med-\"-och-:-i-den":vanilla-sökväg två sökvägar: sökväg-med-"-och-:-i-den och vanilla-sökväg.

GIT_DIR

Om miljövariabeln GIT_DIR är satt anger den en sökväg som ska användas istället för standardvariabeln .git för basen av förvaret. Kommandoradsalternativet --git-dir ställer också in detta värde.

GIT_WORK_TREE

Ange sökvägen till roten av arbetsträdet. Detta kan också styras av kommandoradsalternativet --work-tree och konfigurationsvariabeln core.worktree.

GIT_NAMESPACE

Ställ in Git-namnrymden; se gitnamespaces[7] för mer information. Kommandoradsalternativet --namespace ställer också in detta värde.

GIT_CEILING_DIRECTORIES

Detta bör vara en kolonseparerad lista med absoluta sökvägar. Om den är angiven är det en lista över kataloger som Git inte ska söka upp till när den letar efter en förvar-katalog (användbart för att exkludera långsamt laddande nätverkskataloger). Den kommer inte att exkludera den aktuella arbetskatalogen eller en GIT_DIR-uppsättning på kommandoraden eller i miljön. Normalt måste Git läsa posterna i den här listan och matcha eventuella symboliska länkar som kan finnas för att jämföra dem med den aktuella katalogen. Men om även denna åtkomst är långsam kan du lägga till en tom post i listan för att tala om för Git att de efterföljande posterna inte är symboliska länkar och inte behöver matchas; t.ex. GIT_CEILING_DIRECTORIES=/maybe/symlink::/very/slow/non/symlink.

GIT_DISCOVERY_ACROSS_FILESYSTEM

När Git körs i en katalog som inte har ".git"-förvar-katalogen, försöker den hitta en sådan katalog i överordnade kataloger för att hitta toppen av arbetsträdet, men som standard korsar den inte filsystemsgränser. Denna booleska miljövariabel kan sättas till true för att ange att Git inte ska stanna vid filsystemsgränser. Liksom GIT_CEILING_DIRECTORIES kommer detta inte att påverka en explicit arkivkatalog som anges via GIT_DIR eller på kommandoraden.

GIT_COMMON_DIR

Om den här variabeln är satt till en sökväg, kommer filer som inte är arbetsträd och som normalt finns i $GIT_DIR att hämtas från den här sökvägen istället. Arbetsträdspecifika filer som HEAD eller index hämtas från $GIT_DIR. Se gitrepository-layout[5] och git-worktree[1] för mer information. Den här variabeln har lägre prioritet än andra sökvägsvariabler som GIT_INDEX_FILE, GIT_OBJECT_DIRECTORY…​

GIT_DEFAULT_HASH

Om denna variabel är satt kommer standard hashalgoritmen för nya förvar att ställas in på detta värde. Detta värde ignoreras vid kloning och inställningen för fjärrförvar används alltid. Standardvärdet är "sha1". Se --object-format i git-init[1].

GIT_DEFAULT_REF_FORMAT

Om den här variabeln är satt, kommer standard-referens bakända formatet för nya förvar att ställas in på detta värde. Standardvärdet är "files". Se --ref-format i git-init[1].

Git-incheckningar

GIT_AUTHOR_NAME

Det människoläsbara namnet som används i författaridentiteten när man skapar incheckning- eller taggobjekt, eller när man skriver refloggar. Åsidosätter konfigurationsinställningarna user.name och author.name.

GIT_AUTHOR_EMAIL

E-postadressen som används i författaridentiteten när man skapar incheckning- eller taggobjekt, eller när man skriver refloggar. Åsidosätter konfigurationsinställningarna user.email och author.email.

GIT_AUTHOR_DATE

Datumet som används för författaridentiteten när man skapar incheckning- eller taggobjekt, eller när man skriver refloggar. Se git-commit[1] för giltiga format.

GIT_COMMITTER_NAME

Det människoläsbara namnet som används i inchecknings-identiteten när incheckning- eller taggobjekt skapas, eller när refloggar skrivs. Åsidosätter konfigurationsinställningarna user.name och committer.name.

GIT_COMMITTER_EMAIL

E-postadressen som används i författaridentiteten när man skapar incheckning- eller taggobjekt, eller när man skriver refloggar. Åsidosätter konfigurationsinställningarna user.email och committer.email.

GIT_COMMITTER_DATE

Datumet som används för incheckare-identiteten när inchecknings- eller taggobjekt skapas, eller när reflogs skrivs. Se git-commit[1] för giltiga format.

EMAIL

E-postadressen som används i författar- och incheckare-identiteterna om ingen annan relevant miljövariabel eller konfigurationsinställning har angetts.

Git-differenser

GIT_DIFF_OPTS

Den enda giltiga inställningen är "--unified=??" eller "-u??" för att ange antalet kontextrader som visas när en enhetlig diff skapas. Detta har företräde framför alla alternativvärden "-U" eller "--unified" som skickas på Git diff-kommandoraden.

GIT_EXTERNAL_DIFF

När miljövariabeln GIT_EXTERNAL_DIFF är satt, anropas programmet som namnges av den för att generera differ, och Git använder inte dess inbyggda diff-maskineri. För en sökväg som läggs till, tas bort eller ändras, anropas GIT_EXTERNAL_DIFF med 7 parametrar:

sökväg gammal-fil gammal-hex gammalt-läge ny-fil ny-hex nytt-läge

där:

<gammal|ny>-fil

är filer som GIT_EXTERNAL_DIFF kan använda för att läsa innehållet i <gammal|ny>,

<gammal|ny>-hex

är de 40 hexsiffriga SHA-1-hashen,

<gammalt|nytt>-läge

är den oktala representationen av fillägena.

Filparametrarna kan peka på användarens arbetsfil (t.ex. new-file i "git-diff-files"), /dev/null (t.ex. old-file när en ny fil läggs till), eller en temporär fil (t.ex. gammal-fil i indexet). GIT_EXTERNAL_DIFF behöver inte oroa sig för att koppla bort den temporära filen — den tas bort när GIT_EXTERNAL_DIFF avslutas.

För en sökväg som är osammanslagen anropas GIT_EXTERNAL_DIFF med 1 parameter, <sökväg>.

För varje sökväg som GIT_EXTERNAL_DIFF anropas sätts två miljövariabler, GIT_DIFF_PATH_COUNTER och GIT_DIFF_PATH_TOTAL.

GIT_EXTERNAL_DIFF_TRUST_EXIT_CODE

Om denna booleska miljövariabel är satt till sant förväntas kommandot GIT_EXTERNAL_DIFF 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 falskt, vilket är standardvärdet, förväntas kommandot returnera avslutningskod 0 oavsett likhet. All annan avslutningskod gör att Git rapporterar ett allvarligt fel.

GIT_DIFF_PATH_COUNTER

En 1-baserad räknare som ökas med ett för varje väg.

GIT_DIFF_PATH_TOTAL

Det totala antalet sökvägar.

andra

GIT_MERGE_VERBOSITY

Ett tal som styr mängden utdata som visas av den rekursiva sammanslagings-strategin. Åsidosätter merge.verbosity. Se git-merge[1]

GIT_PAGER

Denna miljövariabel åsidosätter $PAGER. Om den är satt till en tom sträng eller till värdet "cat" kommer Git inte att starta en bläddrae. Se även alternativet core.pager i git-config[1].

GIT_PROGRESS_DELAY

Ett tal som styr hur många sekunders fördröjning sak förflyta innan valfria förloppsindikatorer visas. Standardvärdet är 1.

GIT_EDITOR

Denna miljövariabel åsidosätter $EDITOR och $VISUAL. Den används av flera Git-kommandon när en editor ska startas i interaktivt läge. Se även git-var[1] och alternativet core.editor i git-config[1].

GIT_SEQUENCE_EDITOR

Denna miljövariabel åsidosätter den konfigurerade Git-editorn när att-göra-listan för en interaktiv ombasering redigeras. Se även git-rebase[1] och alternativet sequence.editor i git-config[1].

GIT_SSH
GIT_SSH_COMMAND

Om någon av dessa miljövariabler är satt kommer git fetch och git push att använda det angivna kommandot istället för ssh när de behöver ansluta till ett fjärrsystem. Kommandoradsparametrarna som skickas till det konfigurerade kommandot bestäms av ssh-varianten. Se alternativet ssh.variant i git-config[1] för mer information.

$GIT_SSH_COMMAND har företräde framför $GIT_SSH och tolkas av skalet, vilket tillåter att ytterligare argument inkluderas. $GIT_SSH måste å andra sidan bara vara sökvägen till ett program (vilket kan vara ett wrapper-shellskript om ytterligare argument behövs).

Vanligtvis är det enklare att konfigurera önskade alternativ via din personliga .ssh/config-fil. Vänligen se din ssh-dokumentation för mer information.

GIT_SSH_VARIANT

Om denna miljövariabel är satt, åsidosätter den Gits autodetektering av om GIT_SSH/GIT_SSH_COMMAND/core.sshCommand refererar till OpenSSH, plink eller tortoiseplink. Denna variabel åsidosätter konfigurationsinställningen ssh.variant som tjänar samma syfte.

GIT_SSL_NO_VERIFY

Att ställa in och exportera denna miljövariabel till valfritt värde anger att Git inte ska verifiera SSL-certifikatet vid hämtning- eller sändnings-överföring över HTTPS.

GIT_ATTR_SOURCE

Ställer in trädstrukturen som gitattributes ska läsas från.

GIT_ASKPASS

Om denna miljövariabel är satt, kommer Git-kommandon som behöver hämta lösenord eller lösenfraser (t.ex. för HTTP- eller IMAP-autentisering) att anropa detta program med en lämplig prompt som kommandoradsargument och läsa lösenordet från dess STDOUT. Se även alternativet core.askPass i git-config[1].

GIT_TERMINAL_PROMPT

Om denna booleska miljövariabel är satt till falskt, kommer git inte att fråga i terminalen (t.ex. när man frågar efter HTTP-autentisering).

GIT_CONFIG_GLOBAL
GIT_CONFIG_SYSTEM

Hämta konfigurationen från de givna filerna istället från globala eller systemnivåkonfigurationsfiler. Om GIT_CONFIG_SYSTEM är satt kommer inte systemkonfigurationsfilen som definierades vid byggtillfället (vanligtvis /etc/gitconfig) att läsas. Likaså, om GIT_CONFIG_GLOBAL är satt, kommer varken $HOME/.gitconfig eller $XDG_CONFIG_HOME/git/config att läsas. Kan ställas in på /dev/null för att hoppa över läsning av konfigurationsfiler för respektive nivå.

GIT_CONFIG_NOSYSTEM

Om läsning av inställningar från den systemomfattande $(prefix)/etc/gitconfig-filen ska hoppas över. Denna booleska miljövariabel kan användas tillsammans med $HOME och $XDG_CONFIG_HOME för att skapa en förutsägbar miljö för ett kräsna skript, eller så kan du ställa in den på true för att tillfälligt undvika att använda en buggig /etc/gitconfig-fil medan du väntar på att någon med tillräckliga behörigheter ska åtgärda den.

GIT_FLUSH

Om denna booleska miljövariabel är satt till sant, kommer kommandon som git blame (i inkrementellt läge), git rev-list, git log, git check-attr och git check-ignore att tvinga fram en rensning av utdataströmmen efter att varje post har rensats. Om denna variabel är satt till falskt, kommer utdata från dessa kommandon att ske med hjälp av helt buffrad I/O. Om denna miljövariabel inte är satt, kommer Git att välja buffrad eller postorienterad rensning baserat på om stdout verkar omdirigeras till en fil eller inte.

GIT_TRACE

Aktiverar allmänna spårningsmeddelanden, t.ex. aliasexpansion, inbyggd kommandokörning och extern kommandokörning.

Om den här variabeln är satt till "1", "2" eller "sant" (jämförelsen är inte skiftlägeskänslig) kommer spårningsmeddelanden att skrivas ut till stderr.

Om variabeln är satt till ett heltal större än 2 och lägre än 10 (strikt) kommer Git att tolka detta värde som en öppen fildeskriptor och försöka skriva spårningsmeddelandena till denna fildeskriptor.

Alternativt, om variabeln är satt till en absolut sökväg (som börjar med tecknet /), kommer Git att tolka detta som en filsökväg och försöka lägga till spårningsmeddelandena till den.

Att avaktivera variabeln, eller att sätta den till tom, "0" eller "false" (okänsligt för gemener och versaler) inaktiverar spårningsmeddelanden.

GIT_TRACE_FSMONITOR

Aktiverar spårningsmeddelanden för filsystemövervakningsutvidgningen. Se GIT_TRACE för tillgängliga spårningsutdataalternativ.

GIT_TRACE_PACK_ACCESS

Aktiverar spårningsmeddelanden för alla åtkomster till alla paket. För varje åtkomst registreras paketets filnamn och en offset i paketet. Detta kan vara användbart för felsökning av vissa paketrelaterade prestandaproblem. Se GIT_TRACE för tillgängliga spårningsutdataalternativ.

GIT_TRACE_PACKET

Aktiverar spårningsmeddelanden för alla paket som kommer in i eller ut ur ett givet program. Detta kan hjälpa till med felsökning av objektförhandling eller andra protokollproblem. Spårning avstängs vid ett paket som börjar med "PACK" (men se GIT_TRACE_PACKFILE nedan). Se GIT_TRACE för tillgängliga spårningsutdataalternativ.

GIT_TRACE_PACKFILE

Möjliggör spårning av packfiler som skickats eller mottagits av ett givet program. Till skillnad från annan spårningsutdata är denna spårning ordagrant: inga rubriker och ingen citering av binär data. Du vill nästan säkert dirigera till en fil (t.ex. GIT_TRACE_PACKFILE=/tmp/my.pack) snarare än att visa den i terminalen eller blanda den med annan spårningsutdata.

Observera att detta för närvarande endast är implementerat för klientsidan av kloner och hämtningar.

GIT_TRACE_PERFORMANCE

Aktiverar prestandarelaterade spårningsmeddelanden, t.ex. total exekveringstid för varje Git-kommando. Se GIT_TRACE för tillgängliga spårningsutdataalternativ.

GIT_TRACE_REFS

Aktiverar spårningsmeddelanden för operationer på referensdatabasen. Se GIT_TRACE för tillgängliga spårningsutdataalternativ.

GIT_TRACE_SETUP

Enables trace messages printing the .git, working tree and current working directory after Git has completed its setup phase. See GIT_TRACE for available trace output options.

GIT_TRACE_SHALLOW

Aktiverar spårningsmeddelanden som kan hjälpa till med felsökning vid hämtning/kloning av ytliga arkiv. Se GIT_TRACE för tillgängliga spårningsutdataalternativ.

GIT_TRACE_CURL

Aktiverar en curl fullständig spårdump av all inkommande och utgående data, inklusive beskrivande information, för git-transportprotokollet. Detta liknar att göra curl --trace-ascii på kommandoraden. Se GIT_TRACE för tillgängliga spårningsutdataalternativ.

GIT_TRACE_CURL_NO_DATA

När en curl-spårning är aktiverad (se GIT_TRACE_CURL ovan), dumpa inte data (det vill säga, dumpa endast informationsrader och rubriker).

GIT_TRACE2

Möjliggör mer detaljerade spårningsmeddelanden från biblioteket "trace2". Utdata från GIT_TRACE2 är ett enkelt textbaserat format för mänsklig läsbarhet.

Om den här variabeln är satt till "1", "2" eller "sant" (jämförelsen är inte skiftlägeskänslig) kommer spårningsmeddelanden att skrivas ut till stderr.

Om variabeln är satt till ett heltal större än 2 och lägre än 10 (strikt) kommer Git att tolka detta värde som en öppen fildeskriptor och försöka skriva spårningsmeddelandena till denna fildeskriptor.

Alternativt, om variabeln är satt till en absolut sökväg (som börjar med tecknet /), kommer Git att tolka detta som en filsökväg och försöka lägga till spårningsmeddelandena till den. Om sökvägen redan finns och är en katalog, kommer spårningsmeddelandena att skrivas till filer (en per process) i den katalogen, namngivna enligt den sista komponenten i SID och en valfri räknare (för att undvika filnamnskollisioner).

Om variabeln dessutom är satt till af_unix:[<socket-typ>:]<absolut-sökväg>, kommer Git att försöka öppna sökvägen som en Unix Domain Socket. Sockettypen kan vara antingen stream eller dgram.

Att avaktivera variabeln, eller att sätta den till tom, "0" eller "false" (okänsligt för gemener och versaler) inaktiverar spårningsmeddelanden.

Se Trace2-dokumentation för fullständig information.

GIT_TRACE2_EVENT

Den här inställningen skriver ett JSON-baserat format som är lämpligt för maskintolkning. Se GIT_TRACE2 för tillgängliga spårningsutdataalternativ och Trace2-dokumentation för fullständig information.

GIT_TRACE2_PERF

Utöver de textbaserade meddelanden som finns tillgängliga i GIT_TRACE2, skriver den här inställningen ett kolumnbaserat format för att förstå kapslade regioner. Se GIT_TRACE2 för tillgängliga spårningsutdataalternativ och Trace2-dokumentation för fullständig information.

GIT_TRACE_REDACT

Som standard, när spårning är aktiverat, redigerar Git värdena för cookies, "Authorization:"-headern, "Proxy-Authorization:"-headern och packfile-URI:er. Sätt denna booleska miljövariabel till falsk för att förhindra denna redigering.

GIT_NO_REPLACE_OBJECTS

Att ställa in och exportera denna miljövariabel anger att Git ska ignorera ersättningsreferenser och inte ersätta Git-objekt.

GIT_LITERAL_PATHSPECS

Om du ställer in denna booleska miljövariabel till sant kommer Git att behandla alla sökvägsspecifikationer bokstavligt, snarare än som globmönster. Om du till exempel kör GIT_LITERAL_PATHSPECS=1 git log -- *.c' kommer det att söka efter commits som berör sökvägen *.c, inte några sökvägar som globen *.c matchar. Du kanske vill ha detta om du matar Git med bokstavliga sökvägar (t.ex. sökvägar som tidigare givits till dig av git ls-tree, --raw diff output, etc.).

GIT_GLOB_PATHSPECS

Om denna booleska miljövariabel sätts till true kommer Git att behandla alla sökvägsspecs som glob-mönster (även känd som "glob"-magi).

GIT_NOGLOB_PATHSPECS

Om denna booleska miljövariabel sätts till true kommer Git att behandla alla sökvägsspecs som literala (även känd som "literal" magi).

GIT_ICASE_PATHSPECS

Om denna booleska miljövariabel sätts till sant kommer Git att behandla alla sökvägsspecifikationer som skiftläges-okänsliga.

GIT_NO_LAZY_FETCH

Att sätta denna booleska miljövariabel till sant säger att Git inte ska lat-hämta saknade objekt från promisor-fjärr på begäran.

GIT_REFLOG_ACTION

När en referens uppdateras skapas reflogposter för att hålla reda på orsaken till att referensen uppdaterades (vilket vanligtvis är namnet på det högnivåkommando som uppdaterade referensen), utöver de gamla och nya värdena för referensen. Ett skriptat Porcelain-kommando kan använda hjälpfunktionen set_reflog_action i git-sh-setup för att sätta dess namn på denna variabel när den anropas som toppnivåkommando av slutanvändaren, för att registreras i refloggens brödtext.

GIT_REF_PARANOIA

Om denna booleska miljövariabel är satt till falskt, ignorera trasiga eller felaktigt namngivna referenser när du itererar över listor med referenser. Normalt kommer Git att försöka inkludera sådana referenser, vilket kan orsaka att vissa operationer misslyckas. Detta är vanligtvis att föredra, eftersom potentiellt destruktiva operationer (t.ex. git-prune[1]) är bättre i att avbryta än att ignorera trasiga referenser (och därmed betrakta historiken de pekar på som inte värd att spara). Standardvärdet är 1 (dvs. var paranoid när det gäller att upptäcka och avbryta alla operationer). Du bör normalt inte behöva ställa in detta till 0, men det kan vara användbart när du försöker rädda data från ett korrupt arkiv.

GIT_COMMIT_GRAPH_PARANOIA

När ett incheckning-objekt laddas från inchecknings-graph utför Git en existenskontroll på objektet i objektdatabasen. Detta görs för att undvika problem med inaktuella inchecknings-grafer som innehåller referenser till redan borttagna incheckningar, men det kommer med en prestandaförsämring.

Standardvärdet är "false", vilket inaktiverar ovannämnda beteende. Om du ställer in detta på "true" aktiveras existenskontrollen så att inaktuella incheckninger aldrig returneras från inchecknings-grafen på bekostnad av prestanda.

GIT_ALLOW_PROTOCOL

Om den är inställd på en kolonseparerad lista med protokoll, beter sig som om protocol.allow är satt till never, och vart och ett av de listade protokollen har protocol.<namn>.allow satt till always (och åsidosätter eventuell befintlig konfiguration). Se beskrivningen av protocol.allow i git-config[1] för mer information.

GIT_PROTOCOL_FROM_USER

Sätt denna booleska miljövariabel till falskt för att förhindra att protokoll som används av fetch/push/clone och som är konfigurerade till tillståndet user används. Detta är användbart för att begränsa rekursiv undermodulinitiering från ett opålitligt arkiv eller för program som matar potentiellt opålitliga URL:er till git-kommandon. Se git-config[1] för mer information.

GIT_PROTOCOL

Endast för internt bruk. Används vid handskakning av länk-protokollet. Innehåller en lista med nycklar separerad med kolon : och valfria värden <nyckel>[=<värde>]. Förekomst av okända nycklar och värden måste ignoreras.

Observera att servrar kan behöva konfigureras för att tillåta att denna variabel passerar över vissa transporter. Den kommer att spridas automatiskt vid åtkomst till lokala förvar (dvs. file:// eller en filsystemssökväg), såväl som över git://-protokollet. För git-over-http bör det fungera automatiskt i de flesta konfigurationer, men se diskussionen i git-http-backend[1]. För git-over-ssh kan ssh-servern behöva konfigureras för att tillåta klienter att skicka denna variabel (t.ex. genom att använda AcceptEnv GIT_PROTOCOL med OpenSSH).

This configuration is optional. If the variable is not propagated, then clients will fall back to the original "v0" protocol (but may miss out on some performance improvements or features). This variable currently only affects clones and fetches; it is not yet used for pushes (but may be in the future).

GIT_OPTIONAL_LOCKS

Om denna booleska miljövariabel är satt till falskt, kommer Git att slutföra alla begärda operationer utan att utföra några valfria deloperationer som kräver ett lås. Detta kommer till exempel att förhindra att git status uppdaterar indexet som en bieffekt. Detta är användbart för processer som körs i bakgrunden och som inte vill orsaka låskonflikter med andra operationer på arkivet. Standardvärdet är 1.

GIT_REDIRECT_STDIN
GIT_REDIRECT_STDOUT
GIT_REDIRECT_STDERR

Endast Windows: tillåt omdirigering av standardreferenser för indata/utdata/fel till sökvägar som anges av miljövariablerna. Detta är särskilt användbart i flertrådade applikationer där det kanoniska sättet att skicka standardreferenser via CreateProcess() inte är ett alternativ eftersom det skulle kräva att referenserna markeras som ärvbara (och följaktligen skulle varje startad process ärva dem, vilket möjligen skulle blockera vanliga Git-operationer). Det primära avsedda användningsfallet är att använda namngivna pipes för kommunikation (t.ex. \\.\pipe\my-git-stdin-123).

Två specialvärden stöds: off stänger helt enkelt motsvarande standardreferens, och om GIT_REDIRECT_STDERR är 2>&1 kommer standardfelet att omdirigeras till samma referens som standardutdata.

GIT_PRINT_SHA1_ELLIPSIS (föråldrad)

Om satt till ja, skriv ut en ellips efter ett (förkortat) SHA-1-värde. Detta påverkar indikationer på fristående HEADs (git-checkout[1]) och den råa diff-utdatan (git-diff[1]). Att skriva ut en ellips i de nämnda fallen anses inte längre vara tillräckligt och stödet för den kommer sannolikt att tas bort inom överskådlig framtid (tillsammans med variabeln).

GIT_ADVICE

Om den är satt till 0, inaktivera alla rådmeddelanden. Dessa meddelanden är avsedda att ge tips till mänskliga användare som kan hjälpa dem att ta sig ur problematiska situationer eller dra nytta av nya funktioner. Användare kan inaktivera enskilda meddelanden med hjälp av konfigurationsnycklarna advice.*. Dessa meddelanden kan störa verktyg som kör Git-processer, så den här variabeln är tillgänglig för att inaktivera meddelandena. (Det globala alternativet --no-advice är också tillgängligt, men gamla Git-versioner kan misslyckas när detta alternativ inte förstås. Miljövariabeln kommer att ignoreras av Git-versioner som inte förstår den.)

Discussion

More detail on the following is available from the Git concepts chapter of the user-manual and gitcore-tutorial[7].

A Git project normally consists of a working directory with a ".git" subdirectory at the top level. The .git directory contains, among other things, a compressed object database representing the complete history of the project, an "index" file which links that history to the current contents of the working tree, and named pointers into that history such as tags and branch heads.

Objektdatabasen innehåller objekt av tre huvudtyper: blobs, som innehåller fildata; träd, som pekar på blobs och andra träd för att bygga upp kataloghierarkier; och incheckningar, som var och en refererar till ett enda träd och ett antal förälder incheckningar.

En incheckning, motsvarande vad andra system kallar en "ändringsset" ("changeset") eller "version", representerar ett steg i projektets historik, och varje förälder representerar ett omedelbart föregående steg. Incheckning med mer än en förälder representerar sammanslagningar av oberoende utvecklingslinjer.

Alla objekt namnges med SHA-1-hashen för deras innehåll, normalt skriven som en sträng med 40 hexadecimalsiffror. Sådana namn är globalt unika. Hela historiken som leder fram till en incheckning kan bekräftas genom att signera just den incheckningen. En fjärde objekttyp, taggen, tillhandahålls för detta ändamål.

När objekt först skapas lagras de i individuella filer, men kan för effektivitets skull senare komprimeras till "paketfiler".

Namngivna pekare som kallas refs markerar intressanta punkter i historien. En ref kan innehålla SHA-1-namnet på ett objekt eller namnet på en annan ref (den senare kallas en "symbolisk ref"). Referenser med namn som börjar med refs/head/ innehåller SHA-1-namnet på den senaste incheckning (eller "huvud") för en gren under utveckling. SHA-1-namn på taggar av intresse lagras under refs/tags/. En symbolisk ref med namnet HEAD innehåller namnet på den gren som för närvarande är utcheckad.

Indexfilen initieras med en lista över alla sökvägar och, för varje sökväg, ett blobobjekt och en uppsättning attribut. Blobobjektet representerar innehållet i filen från och med huvudet på den aktuella grenen. Attributen (senast ändrad tid, storlek, etc.) hämtas från motsvarande fil i arbetskatalog. Efterföljande ändringar i arbetskatalogen kan hittas genom att jämföra dessa attribut. Indexet kan uppdateras med nytt innehåll, och nya incheckningar kan skapas från innehållet som lagras i indexet.

Indexet kan också lagra flera poster (kallade "steg") för en given sökväg. Dessa steg används för att lagra de olika osammanslagna versionerna av en fil när en sammanslagning pågår.

SÄKERHET

Vissa konfigurationsalternativ och krok-filer kan få Git att köra godtyckliga shell-kommandon. Eftersom konfiguration och hooks inte kopieras med git clone är det generellt säkert att klona fjärrarkiv med otillförlitligt innehåll, inspektera dem med git log och så vidare.

Det är dock inte säkert att köra Git-kommandon i en .git-katalog (eller det arbetskatalog som omger den) när själva .git-katalogen kommer från en opålitlig källa. Kommandona i dess konfiguration och krokar exekveras på vanligt sätt.

Som standard, vägrar Git att köras när förvar ägs av någon annan än användaren som kör kommandot. Se posten för safe.directory i git-config[1]. Även om detta kan hjälpa till att skydda dig i en miljö med flera användare, observera att du också kan förvärva otillförlitliga förvar som ägs av dig (till exempel om du extraherar en zip-fil eller tarball från en otillförlitlig källa). I sådana fall måste du först "sanera" det otillförlitliga förvar.

Om du har en opålitlig .git-katalog bör du först klona den med git clone --no-local för att få en ren kopia. Git begränsar uppsättningen alternativ och krokar som kommer att köras av upload-pack, som hanterar serversidan av en klon eller hämtning, men var medveten om att ytan för attacker mot upload-pack är stor, så detta medför en viss risk. Det säkraste är att hantera förvaret som en oprivilegierad användare (antingen via git-daemon[1], ssh eller med hjälp av andra verktyg för att ändra användar-ID). Se diskussionen i avsnittet SÄKERHET i git-upload-pack[1].

YTTERLIGARE DOKUMENTATION

Se referenserna i avsnittet "beskrivning" för att komma igång med Git. Följande är förmodligen mer detaljerat än nödvändigt för en förstagångsanvändare.

kapitlet om Git-koncept i användarmanualen och gitcore-tutorial[7] ger båda introduktioner till den underliggande Git-arkitekturen.

Se gitworkflows[7] för en översikt över rekommenderade arbetsflöden.

Se även howto-dokumenten för några användbara exempel.

The internals are documented in the Git API documentation.

Användare som migrerar från CVS kan också vilja läsa gitcvs-migration[7].

Författare

Git startades av Linus Torvalds och underhålls för närvarande av Junio C Hamano. Många bidrag har kommit från Git-e-postlistan <[email protected]>. https://openhub.net/p/git/contributors/summary ger dig en mer komplett lista över bidragsgivare.

Om du har en klon av själva git.git, kan utdata från git-shortlog[1] och git-blame[1] visa dig författarna till specifika delar av projektet.

Rapportera buggar

Rapportera buggar till Git-e-postlistan <[email protected]> där utveckling och underhåll huvudsakligen sker. Du behöver inte prenumerera på listan för att skicka ett meddelande dit. Se listarkivet på https://lore.kernel.org/git för tidigare buggrapporter och andra diskussioner.

Säkerhetsrelevanta frågor bör delas privat till Git Securitys e-postlista <[email protected]>.

GIT

En del av git[1]-sviten