Svenska â–Ÿ Topics â–Ÿ Latest version â–Ÿ git-update-index last updated in 2.52.0

NAMN

git-update-index - Registrera filinnehÄll i arbetstrÀdet till indexet

SYNOPSIS

git update-index
	     [--add] [--remove | --force-remove] [--replace]
	     [--refresh] [-q] [--unmerged] [--ignore-missing]
	     [(--cacheinfo <mode>,<object>,<file>)
​]
	     [--chmod=(+|-)x]
	     [--[no-]assume-unchanged]
	     [--[no-]skip-worktree]
	     [--[no-]ignore-skip-worktree-entries]
	     [--[no-]fsmonitor-valid]
	     [--ignore-submodules]
	     [--[no-]split-index]
	     [--[no-|test-|force-]untracked-cache]
	     [--[no-]fsmonitor]
	     [--really-refresh] [--unresolve] [--again | -g]
	     [--info-only] [--index-info]
	     [-z] [--stdin] [--index-version <n>]
	     [--show-index-version]
	     [--verbose]
	     [--] [<fil>
​]

BESKRIVNING

Ändrar indexet. Varje nĂ€mnd fil uppdateras i indexet och alla tillstĂ„nd som ej sammanslagen eller behöver uppdateras rensas bort.

Se Àven git-add[1] för ett mer anvÀndarvÀnligt sÀtt att utföra nÄgra av de vanligaste operationerna pÄ indexet.

Hur git update-index hanterar filer som det fÄr information om kan Àndras med olika alternativ:

ALTERNATIV

--add

Om en angiven fil inte redan finns i indexet lÀggs den till. Standardbeteendet Àr att ignorera nya filer.

--remove

Om en angiven fil finns i indexet men saknas tas den bort. Standardbeteendet Àr att ignorera borttagna filer.

--refresh

Undersöker det aktuella indexet och kontrollerar via stat()-information om sammanslagningar eller uppdateringar behövs.

-q

Tyst lÀge. Om --refresh upptÀcker att indexet behöver uppdateras Àr standardbeteendet att ge fel. Detta alternativ gör att git update-index fortsÀtter ÀndÄ.

--ignore-submodules

Försök inte uppdatera undermoduler. Detta alternativ respekteras bara nÀr det anges före --refresh.

--unmerged

Om --refresh hittar ej sammanfogade Àndringar i indexet Àr standardbeteendet att ge fel. Detta alternativ gör att git update-index fortsÀtter ÀndÄ.

--ignore-missing

Ignorerar saknade filer under en --refresh

--cacheinfo <lÀge>,<objekt>,<sökvÀg>
--cacheinfo <lÀge> <objekt> <sökvÀg>

Infoga den angivna informationen direkt i indexet. För bakÄtkompatibilitet kan du ocksÄ ange dessa tre argument som tre separata parametrar, men nya anvÀndare uppmuntras att anvÀnda formen med en parameter.

--index-info

LÀs indexinformation frÄn standardindata.

--chmod=(+|-)x

SÀtt exekveringsbehörighet pÄ de uppdaterade filerna.

--assume-unchanged
--no-assume-unchanged

NÀr denna flagga anges uppdateras inte objektnamnen som registrerats för sökvÀgarna. I stÀllet sÀtter/avmarkerar detta alternativ biten "assume unchanged" för sökvÀgarna. NÀr biten "assume unchanged" Àr satt lovar anvÀndaren att inte Àndra filen och lÄter Git anta att filen i arbetstrÀdet matchar vad som finns registrerat i indexet. Om du vill Àndra filen i arbetstrÀdet mÄste du ta bort biten för att tala om det för Git. Detta kan ibland vara hjÀlpsamt nÀr man arbetar med ett stort projekt pÄ ett filsystem med mycket lÄngsamt systemanrop lstat(2) (t.ex. cifs).

Git misslyckas (kontrollerat) om det behöver Àndra denna fil i indexet, t.ex. vid sammanslagning av en incheckning. Om den antaget-oförÀndrade filen Àndras uppströms behöver du dÀrför hantera situationen manuellt.

--really-refresh

Som --refresh, men kontrollerar stat-information utan villkor, utan hÀnsyn till instÀllningen "assume unchanged".

--skip-worktree
--no-skip-worktree

NÀr nÄgon av dessa flaggor anges uppdateras inte objektnamnen som registrerats för sökvÀgarna. I stÀllet sÀtter och avmarkerar dessa alternativ biten "skip-worktree" för sökvÀgarna. Se avsnittet "Skip-worktree bit" nedan för mer information.

--ignore-skip-worktree-entries
--no-ignore-skip-worktree-entries

Ta inte bort poster med skip-worktree (aka "index-only"), Àven nÀr alternativet --remove anges.

--fsmonitor-valid
--no-fsmonitor-valid

NÀr nÄgon av dessa flaggor anges uppdateras inte objektnamnen som registrerats för sökvÀgarna. I stÀllet sÀtter och avmarkerar dessa alternativ biten "fsmonitor valid" för sökvÀgarna. Se avsnittet "File System Monitor" nedan för mer information.

-g
--again

Kör git update-index pÄ de sökvÀgar vars indexposter skiljer sig frÄn motsvarande i HEAD-incheckningen.

--unresolve

ÅterstĂ€ller tillstĂ„ndet ej sammanslagen eller behöver uppdateras för en fil under en sammanslagning om det rensades av misstag.

--info-only

Skapa inte objekt i objektdatabasen för alla argument <file> som följer efter denna flagga; infoga bara deras objekt-id i indexet.

--force-remove

Ta bort filen frÄn indexet Àven nÀr arbetskatalogen fortfarande har en sÄdan fil. (InnebÀr --remove.)

--replace

Som standard nÀr en fil path finns i indexet vÀgrar git update-index ett försök att lÀgga till path/file. PÄ samma sÀtt kan filen path inte lÀggas till om path/file finns. Med flaggan --replace tas befintliga poster som stÄr i konflikt med posten som lÀggs till bort automatiskt med varningsmeddelanden.

--stdin

I stÀllet för att hÀmta en lista med sökvÀgar frÄn kommandoraden, lÀs en lista med sökvÀgar frÄn standardinmatningen. SökvÀgar separeras som standard med LF (dvs. en sökvÀg per rad).

--verbose

Rapportera vad som lÀggs till och tas bort frÄn indexet.

--index-version <n>

Skriv ut det resulterande indexet i den angivna filformatversionen pÄ disk. Version 2, 3 och 4 stöds. Nuvarande standardversion Àr 2 eller 3, beroende pÄ om extra funktioner anvÀnds, som git add -N. Med --verbose rapporteras Àven vilken version indexfilen anvÀnder före och efter detta kommando.

Version 4 utför en enkel komprimering av sökvĂ€gsnamn som minskar indexstorleken med 30%-50% i stora kodförrĂ„d, vilket ger snabbare inlĂ€sningstid. Git har stött detta sedan version 1.8.0, slĂ€ppt i oktober 2012, och stöd lades till i libgit2 2016 samt i JGit 2020. Äldre versioner av denna manualsida kallade det "relatively young", men det bör i dag betraktas som mogen teknik.

--show-index-version

Rapportera vilken indexformatversion som anvÀnds av indexfilen pÄ disk. Se --index-version ovan.

-z

Endast meningsfullt med --stdin eller --index-info; sökvÀgar separeras med NUL-tecken i stÀllet för LF.

--split-index
--no-split-index

Aktivera eller inaktivera delat indexlÀge. Om delat indexlÀge redan Àr aktiverat och --split-index anges igen, skickas alla Àndringar i $GIT_DIR/index tillbaka till den delade indexfilen.

Dessa alternativ gÀller oavsett vÀrdet i konfigurationsvariabeln core.splitIndex (se git-config[1]). En varning ges dock om Àndringen gÄr emot det konfigurerade vÀrdet, eftersom det konfigurerade vÀrdet trÀder i kraft nÀsta gÄng indexet lÀses och dÄ tar bort den avsedda effekten av alternativet.

--untracked-cache
--no-untracked-cache

Aktivera eller inaktivera funktionen för ospÄrad cache. AnvÀnd gÀrna --test-untracked-cache innan du aktiverar den.

Dessa alternativ gÀller oavsett vÀrdet i konfigurationsvariabeln core.untrackedCache (se git-config[1]). En varning ges dock om Àndringen gÄr emot det konfigurerade vÀrdet, eftersom det konfigurerade vÀrdet trÀder i kraft nÀsta gÄng indexet lÀses och dÄ tar bort den avsedda effekten av alternativet.

--test-untracked-cache

Utför endast tester pÄ arbetskatalogen för att sÀkerstÀlla att ospÄrad cache kan anvÀndas. Om du faktiskt vill anvÀnda den mÄste du dÀrefter aktivera ospÄrad cache manuellt med --untracked-cache, --force-untracked-cache eller konfigurationsvariabeln core.untrackedCache. Om ett test misslyckas blir slutkoden 1 och ett meddelande förklarar vad som inte fungerar som det ska; annars blir slutkoden 0 och OK skrivs ut.

--force-untracked-cache

Samma som --untracked-cache. TillhandahÄlls för bakÄtkompatibilitet med Àldre Git-versioner dÀr --untracked-cache brukade innebÀra --test-untracked-cache, medan detta alternativ aktiverade utökningen utan villkor.

--fsmonitor
--no-fsmonitor

Aktivera eller inaktivera funktionen för filsystemövervakning. Dessa alternativ gÀller oavsett vÀrdet i konfigurationsvariabeln core.fsmonitor (se git-config[1]). En varning ges dock om Àndringen gÄr emot det konfigurerade vÀrdet, eftersom det konfigurerade vÀrdet trÀder i kraft nÀsta gÄng indexet lÀses och dÄ tar bort den avsedda effekten av alternativet.

--

Tolka inte fler argument som alternativ.

<fil>

Filer att arbeta med. Observera att filer som börjar med . kastas bort. Detta inkluderar ./file och dir/./file. Om du inte vill det, anvÀnd renare namn. Detsamma gÀller kataloger som slutar med / och sökvÀgar med //.

ANVÄNDA --REFRESH

--refresh berÀknar inte nÄgon ny sha1-fil och uppdaterar inte indexet för lÀges-/innehÄllsÀndringar. Men det gör att stat-informationen för en fil "matchas om" mot indexet, sÄ att du kan uppdatera indexet för en fil som inte Àndrats men dÀr stat-posten Àr inaktuell.

Till exempel kan du vilja göra detta efter en git read-tree, för att koppla stat-indexdetaljerna till rÀtt filer.

ANVÄNDA --CACHEINFO ELLER --INFO-ONLY

--cacheinfo anvÀnds för att registrera en fil som inte finns i den aktuella arbetskatalogen. Detta Àr anvÀndbart för sammanslagning med minsta möjliga utcheckning.

För att lÄtsas att du har en fil pÄ en sökvÀg med visst lÀge och sha1, skriv:

$ git update-index --add --cacheinfo <lÀge>,<sha1>,<sökvÀg>

--info-only anvÀnds för att registrera filer utan att lÀgga dem i objektdatabasen. Detta Àr anvÀndbart för kodförrÄd som bara anvÀnds för status.

BÄde --cacheinfo och --info-only beter sig likartat: indexet uppdateras men inte objektdatabasen. --cacheinfo Àr anvÀndbart nÀr objektet finns i databasen men filen inte Àr tillgÀnglig lokalt. --info-only Àr anvÀndbart nÀr filen Àr tillgÀnglig men du inte vill uppdatera objektdatabasen.

ANVÄNDA --INDEX-INFO

--index-info Àr en kraftfullare mekanism som lÄter dig mata in flera postdefinitioner frÄn standardindata, sÀrskilt avsedd för skript. Den kan ta indata i tre format:

  1. lÀge SP typ SP sha1 TAB sökvÀg

    Formatet anvÀnds för att mata in utdata frÄn git ls-tree i indexet.

  2. lÀge SP sha1 SP steg TAB sökvÀg

    Formatet anvÀnds för att lÀgga in steg av högre ordning i indexfilen och matchar utdata frÄn git ls-files --stage.

  3. lÀge SP sha1 TAB sökvÀg

    Formatet produceras inte lÀngre av nÄgot Git-kommando, men stöds och kommer fortsatt att stödjas av update-index --index-info.

För att lÀgga in en post med högre steg i indexet bör sökvÀgen först tas bort genom att mata in en post med mode=0 för sökvÀgen, och dÀrefter mata in nödvÀndiga rader i det tredje formatet.

Till exempel med detta index som utgÄngspunkt:

$ git ls-files -s
100644 8a1218a1024a212bb3db30becd860315f9f3ac52 0       frotz

du kan mata in följande till --index-info:

$ git update-index --index-info
0 0000000000000000000000000000000000000000	frotz
100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1	frotz
100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2	frotz

Den första raden i indatan matar in 0 som lÀge för att ta bort sökvÀgen; SHA-1 spelar ingen roll sÄ lÀnge den Àr korrekt formaterad. DÀrefter matar den andra och tredje raden in steg 1- och steg 2-poster för sökvÀgen. Efter ovanstÄende fÄr vi detta:

$ git ls-files -s
100644 8a1218a1024a212bb3db30becd860315f9f3ac52 1	frotz
100755 8a1218a1024a212bb3db30becd860315f9f3ac52 2	frotz

ANVÄNDA BITEN “ASSUME UNCHANGED”

MĂ„nga operationer i Git Ă€r beroende av att ditt filsystem har en effektiv implementation av lstat(2), sĂ„ att st_mtime-information för filer i arbetstrĂ€det kan kontrolleras billigt för att se om filinnehĂ„llet har Ă€ndrats jĂ€mfört med versionen registrerad i indexfilen. TyvĂ€rr har vissa filsystem ineffektiv lstat(2). Om ditt filsystem Ă€r ett av dem kan du sĂ€tta biten "assume unchanged" pĂ„ sökvĂ€gar du inte har Ă€ndrat, sĂ„ att Git inte gör denna kontroll. Observera att att sĂ€tta denna bit pĂ„ en sökvĂ€g inte betyder att Git kontrollerar filinnehĂ„llet för att se om det Ă€ndrats — det gör att Git utelĂ€mnar all kontroll och antar att det inte har Ă€ndrats. NĂ€r du gör Ă€ndringar i filer i arbetstrĂ€det mĂ„ste du uttryckligen tala om det för Git genom att ta bort biten "assume unchanged", antingen före eller efter att du Ă€ndrat dem.

För att sÀtta biten "assume unchanged", anvÀnd alternativet --assume-unchanged. För att avmarkera den, anvÀnd --no-assume-unchanged. För att se vilka filer som har biten "assume unchanged" satt, anvÀnd git ls-files -v (se git-ls-files[1]).

Kommandot lÀser konfigurationsvariabeln core.ignorestat. NÀr den Àr sann markeras sökvÀgar som uppdaterats med git update-index paths... och sökvÀgar som uppdaterats med andra Git-kommandon som uppdaterar bÄde index och arbetstrÀd (t.ex. git apply --index, git checkout-index -u och git read-tree -u) automatiskt som "assume unchanged". Observera att biten "assume unchanged" inte sÀtts om git update-index --refresh finner att filen i arbetstrÀdet matchar indexet (anvÀnd git update-index --really-refresh om du vill markera dem som "assume unchanged").

Ibland förvÀxlar anvÀndare biten assume-unchanged med biten skip-worktree. Se sista stycket i avsnittet "Skip-worktree bit" nedan för en förklaring av skillnaderna.

EXEMPEL

För att uppdatera och uppfriska endast de filer som redan Àr utcheckade:

$ git checkout-index -n -f -a && git update-index --ignore-missing --refresh
PĂ„ ett ineffektivt filsystem med core.ignorestat satt
$ git update-index --really-refresh              (1)
$ git update-index --no-assume-unchanged foo.c   (2)
$ git diff --name-only                           (3)
$ edit foo.c
$ git diff --name-only                           (4)
M foo.c
$ git update-index foo.c                         (5)
$ git diff --name-only                           (6)
$ edit foo.c
$ git diff --name-only                           (7)
$ git update-index --no-assume-unchanged foo.c   (8)
$ git diff --name-only                           (9)
M foo.c
  1. tvingar lstat(2) att sÀtta bitar för "assume unchanged" pÄ sökvÀgar som matchar indexet.

  2. markera sökvÀgen som ska redigeras.

  3. detta kör lstat(2) och finner att indexet matchar sökvÀgen.

  4. detta kör lstat(2) och finner att indexet inte matchar sökvÀgen.

  5. att registrera den nya versionen i indexet sÀtter biten "assume unchanged".

  6. och den antas vara oförÀndrad.

  7. Àven efter att du redigerat den.

  8. du kan tala om Àndringen i efterhand.

  9. nu kontrollerar den med lstat(2) och finner att den har Àndrats.

SKIP-WORKTREE-BITEN

Skip-worktree-biten kan definieras i en (lÄng) mening: sÀg Ät git att undvika att skriva filen till arbetskatalogen nÀr det rimligen gÄr, och behandla filen som oförÀndrad nÀr den inte finns i arbetskatalogen.

Observera att inte alla git-kommandon tar hÀnsyn till denna bit, och vissa stöder den bara delvis.

Flaggorna i update-index och read-tree-funktionerna relaterade till skip-worktree-biten fanns före introduktionen av kommandot git-sparse-checkout[1], som ger ett mycket enklare sÀtt att konfigurera och hantera skip-worktree-bitarna. Om du vill begrÀnsa arbetstrÀdet till att bara hantera en delmÀngd av filerna i kodförrÄdet rekommenderar vi starkt att anvÀnda git-sparse-checkout[1] i stÀllet för lÄgnivÄprimitiver som update-index och read-tree erbjuder.

Huvudsyftet med skip-worktree-biten Àr att möjliggöra glesa utcheckningar, d.v.s. arbetskataloger dÀr bara en delmÀngd av sökvÀgarna finns. NÀr skip-worktree-biten Àr satt kommer Git-kommandon (som switch, pull, merge) att undvika att skriva dessa filer. Dessa kommandon kommer dock ibland ÀndÄ att skriva filerna i viktiga fall, som konflikter under sammanslagning eller ombasering. Git-kommandon undviker ocksÄ att tolka frÄnvaron av sÄdana filer som avsiktlig radering; till exempel kommer git add -u inte att köa en radering för dessa filer och git commit -a kommer inte heller att skapa en incheckning som raderar dem.

Även om denna bit liknar biten assume-unchanged Ă€r syftet annorlunda. Assume-unchanged-biten anvĂ€nds för att lĂ€mna filen i arbetstrĂ€det men lĂ„ta Git utelĂ€mna kontroller av Ă€ndringar och anta att filen inte Ă€ndrats (Ă€ven om Git, om det kan avgöra utan att stat:a filen att den har Ă€ndrats, kan registrera Ă€ndringarna). skip-worktree sĂ€ger Ă„t Git att ignorera filens frĂ„nvaro, undvika att uppdatera den nĂ€r det Ă€r möjligt med kommandon som normalt uppdaterar stora delar av arbetskatalogen (t.ex. checkout, switch, pull, osv.), och att inte registrera frĂ„nvaron i incheckningar. Observera att i glesa utcheckningar (uppsatta med git sparse-checkout eller genom att sĂ€tta core.sparseCheckout till true) kommer Git att rensa skip-worktree-biten för en fil om filen Ă€r markerad som skip-worktree i indexet men hittas i arbetstrĂ€det.

DELAT INDEX

LÀget Àr utformat för kodförrÄd med mycket stora index och syftar till att minska tiden det tar att upprepade gÄnger skriva dessa index.

I detta lĂ€ge delas indexet upp i tvĂ„ filer, $GIT_DIR/index och $GIT_DIR/sharedindex.<SHA-1>. Ändringar samlas i $GIT_DIR/index, det delade indexet, medan den delade indexfilen innehĂ„ller alla indexposter och förblir oförĂ€ndrad.

Alla Àndringar i det delade indexet förs tillbaka till den delade indexfilen nÀr antalet poster i det delade indexet nÄr en nivÄ som anges av konfigurationsvariabeln splitIndex.maxPercentChange (se git-config[1]).

Varje gÄng en ny delad indexfil skapas tas gamla delade indexfiler bort om deras Àndringstid Àr Àldre Àn vad som anges av konfigurationsvariabeln splitIndex.sharedIndexExpire (se git-config[1]).

För att undvika att ta bort en delad indexfil som fortfarande anvÀnds uppdateras dess Àndringstid till aktuell tid varje gÄng ett nytt delat index baserat pÄ den delade indexfilen skapas eller lÀses.

OSPÅRAD CACHE

Denna cache Àr avsedd att snabba upp kommandon som behöver faststÀlla ospÄrade filer, som git status.

Funktionen fungerar genom att registrera mtime för katalogerna i arbetstrÀdet och sedan utelÀmna kataloglÀsning och stat-anrop mot filer i kataloger vars mtime inte har Àndrats. För att detta ska fungera mÄste det underliggande operativsystemet och filsystemet Àndra fÀltet st_mtime för kataloger nÀr filer i katalogen lÀggs till, Àndras eller tas bort.

Du kan testa om filsystemet stöder detta med alternativet --test-untracked-cache. Alternativet --untracked-cache brukade implicit utföra testet i Àldre Git-versioner, men sÄ Àr det inte lÀngre.

Om du vill aktivera (eller inaktivera) funktionen Àr det enklare att anvÀnda konfigurationsvariabeln core.untrackedCache (se git-config[1]) Àn att anvÀnda alternativet --untracked-cache till git update-index i varje kodförrÄd, sÀrskilt om du vill göra det för alla kodförrÄd du anvÀnder. Du kan sÀtta konfigurationsvariabeln till true (eller false) i $HOME/.gitconfig en enda gÄng och fÄ den att pÄverka alla kodförrÄd du arbetar med.

NÀr konfigurationsvariabeln core.untrackedCache Àndras lÀggs ospÄrad cache till i eller tas bort frÄn indexet nÀsta gÄng ett kommando lÀser indexet. NÀr --[no-|force-]untracked-cache anvÀnds lÀggs ospÄrad cache dÀremot till eller tas bort frÄn indexet omedelbart.

Före 2.17 hade den ospÄrade cachen ett programfel dÀr ersÀttning av en katalog med en symbolisk lÀnk till en annan katalog kunde göra att filer som spÄras av git felaktigt visades som ospÄrade. Se incheckningen "status: add a failing test showing a core.untrackedCache bug" i git.git. En tillfÀllig lösning för detta Àr (och den kan Àven fungera för andra Ànnu oupptÀckta programfel i framtiden):

$ git -c core.untrackedCache=false status

Denna programfel har ocksÄ visat sig pÄverka fall utan symboliska lÀnkar dÀr en katalog ersÀtts med en fil, nÀr det gÀller de interna strukturerna i den ospÄrade cachen. Men inget fall har rapporterats dÀr detta gav felaktig utdata frÄn "git status".

Det finns ocksÄ fall dÀr befintliga index skrivna av git-versioner före 2.17 refererar till kataloger som inte lÀngre finns, vilket kan orsaka mÄnga varningar av typen "could not open directory" vid "git status". Detta Àr nya varningar för befintliga problem som tidigare tyst ignorerades.

Precis som med programfelet ovan Àr lösningen att köra en engÄngs-"git status" med core.untrackedCache=false för att rensa ut kvarvarande felaktig data.

FILSYSTEMÖVERVAKNING

Den hÀr funktionen Àr avsedd att snabba upp git-operationer för kodförrÄd med stora arbetskataloger.

Det gör att git kan samarbeta med en filsystemövervakare (se git-fsmonitor--daemon[1] och avsnittet "fsmonitor-watchman" i githooks[5]) som kan informera om vilka filer som har Àndrats. Detta gör att git kan undvika att behöva köra lstat() pÄ varje fil för att hitta Àndrade filer.

NÀr den anvÀnds tillsammans med ospÄrad cache kan prestandan förbÀttras ytterligare genom att undvika kostnaden för att skanna hela arbetskatalogen efter nya filer.

Om du vill aktivera (eller inaktivera) funktionen Àr det enklare att anvÀnda konfigurationsvariabeln core.fsmonitor (se git-config[1]) Àn att anvÀnda alternativet --fsmonitor till git update-index i varje kodförrÄd, sÀrskilt om du vill göra det för alla kodförrÄd du anvÀnder. Du kan sÀtta konfigurationsvariabeln i $HOME/.gitconfig en enda gÄng och fÄ den att pÄverka alla kodförrÄd du arbetar med.

NÀr konfigurationsvariabeln core.fsmonitor Àndras lÀggs filsystemövervakningen till i eller tas bort frÄn indexet nÀsta gÄng ett kommando lÀser indexet. NÀr --[no-]fsmonitor anvÀnds lÀggs filsystemövervakningen dÀremot till eller tas bort frÄn indexet omedelbart.

KONFIGURATION

Kommandot respekterar konfigurationsvariabeln core.filemode. Om kodförrÄdet ligger pÄ ett filsystem vars exekveringsbitar Àr opÄlitliga bör detta sÀttas till false (se git-config[1]). DÄ ignorerar kommandot skillnader i fillÀgen mellan indexet och filsystemet om de bara skiljer i exekveringsbit. PÄ ett sÄdant olyckligt filsystem kan du behöva anvÀnda git update-index --chmod=.

PÄ liknande sÀtt, om konfigurationsvariabeln core.symlinks Àr satt till false (se git-config[1]), checkas symboliska lÀnkar ut som vanliga filer, och detta kommando Àndrar dÄ inte ett registrerat fillÀge frÄn symbolisk lÀnk till vanlig fil.

Kommandot lÀser konfigurationsvariabeln core.ignorestat. Se avsnittet "Using "assume unchanged" bit" ovan.

Kommandot lÀser ocksÄ konfigurationsvariabeln core.trustctime. Detta kan vara anvÀndbart nÀr inodens Àndringstid regelbundet Àndras av nÄgot utanför Git (filsystemsindexerare och backup-system anvÀnder ctime för att markera bearbetade filer) (se git-config[1]).

Utökningen för ospÄrad cache kan aktiveras med konfigurationsvariabeln core.untrackedCache (se git-config[1]).

NOTERINGAR

AnvÀndare försöker ofta anvÀnda bitarna assume-unchanged och skip-worktree för att sÀga Ät Git att ignorera Àndringar i spÄrade filer. Detta fungerar inte som förvÀntat, eftersom Git ÀndÄ kan jÀmföra filer i arbetstrÀdet mot indexet vid vissa operationer. I allmÀnhet erbjuder Git inget sÀtt att ignorera Àndringar i spÄrade filer, sÄ alternativa lösningar rekommenderas.

Till exempel om filen du vill Àndra Àr nÄgon form av konfigurationsfil, kan kodförrÄdet innehÄlla en exempelkonfigurationsfil som sedan kan kopieras till det ignorerade namnet och Àndras. KodförrÄdet kan till och med innehÄlla ett skript som behandlar exempelfilen som en mall och Àndrar samt kopierar den automatiskt.

GIT

En del av git[1]-sviten