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

NAMN

git-fsck - Bekräftar konnektivitet och validitet för objektet i databasen

SYNOPSIS

git fsck [--tags] [--root] [--unreachable] [--cache] [--no-reflogs]
	[--[no-]full] [--strict] [--verbose] [--lost-found]
	[--[no-]dangling] [--[no-]progress] [--connectivity-only]
	[--[no-]name-objects] [--[no-]references] [<objekt>…​]

BESKRIVNING

Verifierar anslutningen och giltigheten för objekten i databasen.

ALTERNATIV

<objekt>

Ett objekt att behandla som huvudet på ett oåtkomlighets-spårning.

Om inga objekt anges, använder git fsck som standard indexfilen, alla SHA-1-referenser i namnrymden refs och alla reflogs (såvida inte --no-reflogs anges) som huvud.

--unreachable

Skriv ut objekt som finns men som inte kan nås från någon av referensnoderna.

--dangling
--no-dangling

Skriv ut objekt som existerar men som aldrig används "direkt" (standard). --no-dangling kan användas för att utelämna denna information från utdata.

--root

Rapportera rotnoder.

--tags

Rapportera taggar.

--cache

Betrakta alla objekt som registrerats i indexet även som en huvudnod för ett oåtkomlighets-spårning.

--no-reflogs

Betrakta inte incheckningar som endast refereras till av en post i en reflog som nåbara. Det här alternativet är endast avsett att söka efter incheckningar som brukade finnas i en ref, men nu inte finns det, men som fortfarande finns i motsvarande reflog.

--full

Kontrollera inte bara objekt i GIT_OBJECT_DIRECTORY ($GIT_DIR/objects), utan även de som finns i alternativa objektpooler listade i GIT_ALTERNATE_OBJECT_DIRECTORIES eller $GIT_DIR/objects/info/alternates, och i packade Git-arkiv som finns i $GIT_DIR/objects/pack och motsvarande paketunderkataloger i alternativa objektpooler. Detta är nu standard; du kan stänga av det med --no-full.

--connectivity-only

Kontrollera endast anslutningen för nåbara objekt och se till att alla objekt som refereras till av en nåbar tagg, incheckning eller träd finns. Detta snabbar upp åtgärden genom att helt undvika att läsa blobbar (även om det fortfarande kontrollerar att refererade blobbar finns). Detta kommer att upptäcka korruption i incheckningar och träd, men inte göra några semantiska kontroller (t.ex. för formatfel). Korruption i blobobjekt kommer inte att upptäckas alls.

Oåtkomliga taggar, incheckningar och träd kommer också att nås för att hitta toppar för dinglande segment av historiken. Använd --no-dangling om du inte bryr dig om den här utdatan och vill snabba upp den ytterligare.

--strict

Aktivera strängare kontroll, nämligen för att fånga ett filläge inspelat med g+w-bituppsättning, vilket skapades av äldre versioner av Git. Befintliga förvar, inklusive Linuxkärnan, själva Git och glest förvar, har gamla objekt som utlöser denna kontroll, men det rekommenderas att kontrollera nya projekt med denna flagga.

--verbose

Var pratsam.

--lost-found

Skriv dinglande objekt i .git/lost-found/commit/ eller .git/lost-found/other/, beroende på typ. Om objektet är en blob skrivs innehållet in i filen, snarare än dess objektnamn.

--name-objects

När namn på nåbara objekt visas, visas utöver SHA-1 även ett namn som beskriver hur de är nåbara, kompatibelt med git-rev-parse[1], t.ex. HEAD@{1234567890}~25^2:src/.

--progress
--no-progress

Förloppsstatus rapporteras som standard i standardfelströmmen när den är kopplad till en terminal, såvida inte --no-progress eller --verbose anges. --progress tvingar fram förloppsstatus även om standardfelströmmen inte dirigeras till en terminal.

--references
--no-references

Styr om referensdatabasens konsistens ska kontrolleras via git refs verify. Se git-refs[1] för mer information. Standardinställningen är att kontrollera referensdatabasen.

KONFIGURATION

Allt under den här raden i det här avsnittet är selektivt inkluderat från dokumentationen git-config[1]. Innehållet är detsamma som det som finns där:

Warning

Missing sv/config/fsck.adoc

See original version for this content.

DISKUSSION

git-fsck testar SHA-1 och allmän objektsanitet, och den gör fullständig spårning av den resulterande nåbarheten och allt annat. Den skriver ut alla hittade korruptioner (saknade eller dåliga objekt), och om du använder flaggan --unreachable kommer den också att skriva ut objekt som finns men som inte är nåbara från någon av de angivna huvudnoderna (eller standarduppsättningen, som nämnts ovan).

Alla korrupta objekt måste du hitta i säkerhetskopior eller andra arkiv (dvs. du kan bara ta bort dem och göra en rsync med någon annan webbplats i hopp om att någon annan har objektet du har korrupterat).

Om core.commitGraph är sant, kommer inchecknings-graf-filen också att inspekteras med hjälp av git commit-graph verify. Se git-commit-graph[1].

Extraherade diagnostik

oåtkomlig <typ> <objekt>

<type>-objektet <objekt> refereras inte direkt eller indirekt till i något av träden eller incheckningar som visas. Detta kan betyda att det finns en annan rotnod som du inte anger eller att trädet är korrupt. Om du inte har missat en rotnod kan du lika gärna ta bort oåtkomliga noder eftersom de inte kan användas.

saknas <typ> <objekt>

<type>-objektet <objekt> refereras till men finns inte i databasen.

dinglande <typ> <objekt>

<typ>-objektet <objekt> finns i databasen men används aldrig direkt. En dinglande incheckning kan vara en rotnod.

hash-matchningsfel <objekt>

Databasen har ett objekt vars hash inte matchar objektets databasvärde. Detta indikerar ett allvarligt dataintegritetsproblem.

FSCK-MEDDELANDEN

Följande listar de typer av fel som git fsck upptäcker och vad varje fel betyder, med deras standardallvarlighetsgrad. Felets allvarsgrad, förutom de som är markerade som "(FATAL)", kan justeras genom att ställa in motsvarande konfigurationsvariabel fsck.<msg-id>.

badDate

(FEL) Ogiltigt datumformat i en författar-/publicerings-rad.

badDateOverflow

(FEL) Ogiltigt datumvärde på en författar-/publicerings-rad.

badEmail

(FEL) Ogiltigt e-postformat i en författar-/publicerings-rad.

badFilemode

(INFO) Ett träd innehåller en felaktig fillägespost.

badGpgsig

(FEL) En tagg innehåller en ogiltig (trunkerad) signaturrubrik (t.ex. gpgsig).

badHeaderContinuation

(FEL) En fortsättningsrubrik (t.ex. för gpgsig) är oväntat avkortad.

badName

(FEL) Ett författar-/utfärdarnamn är tomt.

badObjectSha1

(FEL) Ett objekt har en ogiltig sha1.

badPackedRefEntry

(FEL) Filen "packed-refs" innehåller en ogiltig post.

badPackedRefHeader

(FEL) Filen "packed-refs" innehåller en ogiltig rubrik.

badParentSha1

(FEL) Ett inchecknings-objekt har en ogiltig förälder sha1.

badRefContent

(FEL) En ref har felaktigt innehåll.

badRefFiletype

(FEL) En referens har en felaktig filtyp.

badRefName

(FEL) En referens har ett ogiltigt format.

badReferentName

(FEL) Referensnamnet för en symref är ogiltigt.

badReftableTableName

(VARNING) En reftable-tabell har ett ogiltigt namn.

badTagName

(INFO) En tagg har ett ogiltigt format.

badTimezone

(FEL) En ogiltig tidszon hittades i en författar-/incheckare-rad.

badTree

(FEL) Ett träd kan inte tolkas.

badTreeSha1

(FEL) Ett träd har ett ogiltigt format.

badType

(FEL) En ogiltig objekttyp hittades.

duplicateEntries

(FEL) Ett träd innehåller dubbletter av filposter.

emptyName

(VARNING) En sökväg innehåller ett tomt namn.

emptyPackedRefsFile

(INFO) Filen "packed-refs" är tom. Rapportera till e-postlistan git@vger.kernel.org om du ser detta fel. Eftersom endast mycket tidiga versioner av Git skapade en sådan tom "packed_refs"-fil kan vi komma att skärpa denna regel i framtiden.

extraHeaderEntry

(IGNORERA) Extra rubriker hittades efter tagger.

fullPathname

(VARNING) En sökväg innehåller hela sökvägen som börjar med "/".

gitattributesBlob

(FEL) En icke-blob hittades vid .gitattributes.

gitattributesLarge

(FEL) Blobben .gitattributes är för stor.

gitattributesLineLength

(FEL) Blobben .gitattributes innehåller för långa rader.

gitattributesMissing

(FEL) Det gick inte att läsa .gitattributes-blobben.

gitattributesSymlink

(INFO) .gitattributes är en symbolisk länk.

gitignoreSymlink

(INFO) .gitignore är en symbolisk länk.

gitmodulesBlob

(FEL) En icke-blob hittades vid .gitmodules.

gitmodulesLarge

(FEL) Filen .gitmodules är för stor för att tolkas.

gitmodulesMissing

(FEL) Det gick inte att läsa .gitmodules-blobben.

gitmodulesName

(FEL) Ett undermodulnamn är ogiltigt.

gitmodulesParse

(INFO) Kunde inte tolka .gitmodules-blobben.

gitmodulesPath

(FEL) Sökvägen till .gitmodules är ogiltig.

gitmodulesSymlink

(FEL) .gitmodules är en symbolisk länk.

gitmodulesUpdate

(FEL) En ogiltig uppdateringsinställning för undermodul hittades.

gitmodulesUrl

(FEL) En ogiltig URL för undermodulen hittades.

hasDot

(VARNING) Ett träd innehåller en post med namnet ..

hasDotdot

(VARNING) Ett träd innehåller en post med namnet ...

hasDotgit

(VARNING) Ett träd innehåller en post med namnet .git.

largePathname

(WARN) A tree contains an entry with a very long path name. If the value of fsck.largePathname contains a colon, that value is used as the maximum allowable length (e.g., "warn:10" would complain about any path component of 11 or more bytes). The default value is 4096.

mailmapSymlink

(INFO) .mailmap är en symbolisk länk.

missingAuthor

(FEL) Författaren saknas.

missingCommitter

(FEL) Incheckaren saknas.

missingEmail

(FEL) E-postadress saknas på en författar-/incheckare-rad.

missingNameBeforeEmail

(FEL) Namn saknas före en e-postadress på en författar-/incheckare-rad.

missingObject

(FEL) Raden object saknas i taggobjektet.

missingSpaceBeforeDate

(FEL) Mellanslag saknas före datum på en författar-/incheckare-rad.

missingSpaceBeforeEmail

(FEL) Mellanslag saknas före e-post på en författar-/incheckare-rad.

missingTag

(FEL) Oväntat slut efter type-raden i ett taggobjekt.

missingTagEntry

(FEL) Raden tag saknas i ett taggobjekt.

missingTaggerEntry

(INFO) Raden tagger saknas i ett taggobjekt.

missingTree

(FEL) tree-rad saknas i ett inchecknings-objekt.

missingType

(FEL) Ogiltigt typvärde på type-raden i ett taggobjekt.

missingTypeEntry

(FEL) Raden type saknas i ett taggobjekt.

multipleAuthors

(FEL) Flera författarrader hittades i en incheckning.

nulInCommit

(WARN) En NUL-byte hittades i incheckning-objektets brödtext.

nulInHeader

(FATAL) NUL-byte finns i objekthuvudet.

nullSha1

(WARN) Trädet innehåller poster som pekar på en null sha1.

packedRefEntryNotTerminated

(FEL) Filen "packed-refs" innehåller en post som inte avslutas med en ny rad.

packedRefUnsorted

(FEL) Filen "packed-refs" är inte sorterad.

refMissingNewline

(INFO) En lös referens som inte slutar med newline(LF). Eftersom giltiga implementeringar av Git aldrig skapat en sådan lös referensfil kan det bli ett fel i framtiden. Rapportera till e-postlistan git@vger.kernel.org om du ser detta fel, eftersom vi behöver veta vilka verktyg som skapade en sådan fil.

symlinkRef

(INFO) En symbolisk länk används som en symref. Rapportera till e-postlistan git@vger.kernel.org om du ser detta fel, eftersom vi utvärderar möjligheten att slopa stödet för att slopa skapandet av symboliska länkar som symrefs.

symrefTargetIsNotARef

(INFO) Målet för en symbolisk referens pekar varken mot en rotreferens eller mot en referens som börjar med "refs/". Även om vi tillåter att en symref skapas som pekar mot referensen som ligger utanför "ref" genom att använda git symbolic-ref, kan vi komma att skärpa regeln i framtiden. Rapportera till e-postlistan git@vger.kernel.org om du ser detta fel, eftersom vi behöver veta vilka verktyg som skapade en sådan fil.

trailingRefContent

(INFO) En lös referens har efterföljande innehåll. Eftersom giltiga implementeringar av Git aldrig skapade en sådan lös referensfil kan det bli ett fel i framtiden. Rapportera till e-postlistan git@vger.kernel.org om du ser detta fel, eftersom vi behöver veta vilka verktyg som skapade en sådan fil.

treeNotSorted

(FEL) Ett träd är inte korrekt sorterat.

unknownType

(FEL) En okänd objekttyp hittades.

unterminatedHeader

(FATAL) Radslut saknas i objekthuvudet.

zeroPaddedDate

(FEL) Hittade ett utfyllt datum med noll i en författar-/incheckare-rad.

zeroPaddedFilemode

(VARNING) Hittade ett filläge med noll utfyllnad i ett träd.

Miljövariabler

GIT_OBJECT_DIRECTORY

används för att ange objektdatabasens rot (vanligtvis $GIT_DIR/objects)

GIT_INDEX_FILE

används för att ange indexfilen för indexet

GIT_ALTERNATE_OBJECT_DIRECTORIES

används för att ange ytterligare objektdatabasrötter (vanligtvis osatta)

GIT

En del av git[1]-sviten