You can help translate this page.
Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
-
2.55.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2026-06-29
-
2.54.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2026-04-20
-
2.53.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2026-02-02
-
2.52.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2025-11-17
- 2.51.1 2.51.2 no changes
-
2.51.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2025-08-18
- 2.50.1 no changes
-
2.50.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
2025-06-16
- 2.49.1 no changes
-
2.49.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2025-03-14
- 2.46.2 2.48.2 no changes
-
2.46.1
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2024-09-13
- 2.45.1 2.46.0 no changes
-
2.45.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2024-04-29
- 2.43.2 2.44.4 no changes
-
2.43.1
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2024-02-09
-
2.43.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2023-11-20
- 2.38.1 2.42.4 no changes
-
2.38.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2022-10-02
- 2.35.1 2.37.7 no changes
-
2.35.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2022-01-24
- 2.34.1 2.34.8 no changes
-
2.34.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2021-11-15
- 2.33.1 2.33.8 no changes
-
2.33.0
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2021-08-16
- 2.32.1 2.32.7 no changes
-
2.32.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2021-06-06
- 2.31.1 2.31.8 no changes
-
2.31.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2021-03-15
- 2.30.1 2.30.9 no changes
-
2.30.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2020-12-27
- 2.27.1 2.29.3 no changes
-
2.27.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2020-06-01
- 2.25.2 2.26.3 no changes
-
2.25.1
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2020-02-17
-
2.25.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2020-01-13
- 2.24.1 2.24.4 no changes
-
2.24.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2019-11-04
- 2.23.1 2.23.4 no changes
-
2.23.0
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2019-08-16
- 2.21.1 2.22.5 no changes
-
2.21.0
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2019-02-24
- 2.17.0 2.20.5 no changes
-
2.16.6
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2019-12-06
- 2.14.6 2.15.4 no changes
-
2.13.7
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2018-05-22
-
2.12.5
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2017-09-22
-
2.11.4
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2017-09-22
-
2.10.5
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2017-09-22
-
2.9.5
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2017-07-30
- 2.8.6 no changes
-
2.7.6
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2017-07-30
-
2.6.7
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2017-05-05
- 2.5.6 no changes
-
2.4.12
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2017-05-05
- 2.3.10 no changes
-
2.2.3
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
[grey-dot.png]
2015-09-04
- 2.1.4 no changes
-
2.0.5
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[green-dot.png]
[red-dot.png]
[red-dot.png]
[grey-dot.png]
[grey-dot.png]
2014-12-17
Check your version of git by running
git --version
SYNOPSIS
gitcommit[-a|--interactive|--patch] [-s] [-v] [-u[<lge>]] [--amend] [--dry-run] <incheckning>] [-F<fil> |-m<medd>] [--reset-author] [--allow-empty] [--allow-empty-message] [--no-verify] [-e] [--author=<frfattare>] [--date=<datum>] [--cleanup=<lge>] [--[no-]status] [-i|-o] [--pathspec-from-file=<fil> [--pathspec-file-nul]] [(--trailer<symbol>[(=|:)<vrde>])…] [-S[<nyckel-id>]] [--] [<skvg>…]
BESKRIVNING
Skapa en ny incheckning som innehller det aktuella innehllet i indexet och det givna loggmeddelandet som beskriver ndringarna. Den nya incheckningen r ett direkt barn till HEAD, vanligtvis toppen av den aktuella grenen, och grenen uppdateras fr att peka p den (svida ingen gren r associerad med arbetstrd, i vilket fall HEAD "kopplas frn" enligt beskrivningen i git-checkout[1]).
Innehllet som ska checkas in kan anges p flera stt:
-
genom att anvnda git-add[1] fr att stegvis "lgga till" ndringar i indexet innan man anvnder
commit-kommandot (Obs: ven modifierade filer mste "lggas till"); -
genom att anvnda git-rm[1] fr att ta bort filer frn arbetstrdet och indexet, innan
commit-kommandot anvnds; -
genom att lista filer som argument till
commit-kommandot (utan--interactiveeller--patch), i vilket fall incheckningen ignorerar ndringar som kats i indexet och i stllet registrerar det aktuella innehllet i de listade filerna (som Git redan mste knna till); -
genom att anvnda
-amedcommit-kommandot fr att automatiskt "lgga till" ndringar frn alla knda filer (d.v.s. filer som redan finns i indexet) och automatiskt "rm" filer i indexet som tagits bort frn arbetstrdet, och drefter utfra sjlva incheckningen; -
genom att anvnda vxlarna
--interactiveeller--patchmed kommandotcommitfr att en efter en bestmma vilka filer eller stycken som ska ing i incheckningen utver innehllet i indexet, innan operationen slutfrs. Se avsnittet “Interaktivt lge” i git-add[1] fr att lra dig hur man anvnder dessa lgen.
Alternativet --dry-run kan anvndas fr att f en sammanfattning av vad som ingr i ngot av ovanstende fr nsta incheckning genom att ange samma uppsttning parametrar (alternativ och skvgar).
Om du gr en incheckning och direkt drefter upptcker ett misstag kan du terhmta dig med git reset.
ALTERNATIV
-
-a -
--all -
Kar automatiskt filer som har ndrats eller tagits bort, men nya filer som du inte har talat om fr Git pverkas inte.
-
-p -
--patch -
Anvnd det interaktiva grnssnittet fr patchval fr att vlja vilka ndringar som ska checkas in. Se git-add[1] fr detaljer.
-
-U<n> -
--unified=<n> -
Generate diffs with <n> lines of context. The number of context lines defaults to
diff.contextor 3 if the configuration variable is unset. (-Uwithout <n> is silently accepted as a synonym for-pdue to a historical accident). -
--inter-hunk-context=<n> -
Visar sammanhanget mellan olika stycken, upp till det angivna <antal> rader, och sammanfogar drmed stycken som ligger nra varandra. Standardvrdet r
diff.interHunkContexteller 0 om konfigurationsalternativet inte r instllt.
-
-C<incheckning> -
--reuse-message=<incheckning> -
Ta ett befintligt <incheckning>-objekt och teranvnd loggmeddelandet och frfattarinformationen (inklusive tidsstmpeln) nr du skapar incheckningen.
-
-c<incheckning> -
--reedit-message=<incheckning> -
Som
-C, men med-cstartas redigeraren s att anvndaren kan redigera incheckningsmeddelandet vidare. -
--fixup=[(amend|reword):]<incheckning> -
Skapa en ny incheckning som "fixar upp" <incheckning> nr den tillmpas med
gitrebase--autosquash. Vanlig--fixup=<incheckning> skapar en "fixup!"-incheckning som ndrar innehllet i <incheckningen> men lmnar dess loggmeddelande orrt.--fixup=amend:<incheckning> r liknande men skapar en "amend!"-incheckning som ocks erstter loggmeddelandet fr <incheckning> med loggmeddelandet frn "amend!"-incheckningen.--fixup=reword:<incheckning> skapar en "amend!"-incheckning som erstter loggmeddelandet fr <incheckning> med sitt eget loggmeddelande men gr inga ndringar i innehllet i <incheckning>.Den incheckning som skapas av
--fixup=<incheckning> har en titel som bestr av "fixup!" fljt av titeln <incheckning>, och knns igen srskilt avgitrebase--autosquash. Alternativet-mkan anvndas fr att komplettera loggmeddelandet fr den skapade incheckningen, men den ytterligare kommentaren frsvinner nr "fixup!"-incheckningen klms in i <incheckning> avgitrebase--autosquash.Den incheckning som skapas av
--fixup=amend:<incheckning> liknar den ovan, men dess titel har i stllet prefixet "amend!". Loggmeddelandet fr <incheckning> kopieras till loggmeddelandet fr "amend!"-incheckningen och ppnas i en redigerare s att det kan frfinas. Nrgitrebase--autosquashslr ihop "amend!"-incheckningen med <incheckning> erstts loggmeddelandet fr <incheckning> av det frfinade loggmeddelandet frn "amend!"-incheckningen. Det r ett fel om "amend!"-incheckningens loggmeddelande r tomt, om inte--allow-empty-messageanges.--fixup=reword:<incheckning> r en frkortning fr--fixup=amend:<incheckning>--only. Den skapar en "amend!"-incheckning med endast ett loggmeddelande (ignorerar eventuella ndringar som kats i indexet). Nr den komprimeras avgitrebase--autosquasherstter den loggmeddelandet fr <incheckning> utan att gra ngra andra ndringar.Varken "fixup!" eller "amend!" bekrftar ndring av frfattarskap fr <incheckning> nr det tillmpas av
gitrebase--autosquash. Se git-rebase[1] fr detaljer. -
--squash=<incheckning> -
Konstruera ett incheckningsmeddelande fr anvndning med
gitrebase--autosquash. Rubriken fr incheckningsmeddelandet hmtas frn den angivna incheckningen med prefixet "squash! ". Kan anvndas med ytterligare alternativ fr incheckningsmeddelande (-m/-c/-C/-F). Se git-rebase[1] fr detaljer. -
--reset-author -
Nr det anvnds med
-C/-c/--amend-flaggor, eller vid incheckning efter ett motstridigt urval av attribut, deklareras att frfattarskapet till den resulterande incheckningen nu tillhr incheckaren. Detta frnyar ocks frfattartidsstmpeln. -
--short -
Nr du gr en testkrning, ange utdata i short-format. Se git-status[1] fr detaljer. Implicerar
--dry-run. -
--branch -
Visa gren- och sprningsinformation ven i kortformat. Se git-status[1] fr mer information.
-
--porcelain -
Nr du gr en torrkrning, ge utdata i ett
porcelain-anpassat format. Se git-status[1] fr detaljer. Implicerar--dry-run. -
--long -
Nr du gr en testkrning, ange utdata i lngt format. Detta r standardutdata fr git-status[1]. Implicerar
--dry-run. -
-z -
--null -
Nr
short- ellerporcelain-utdata frn git-status[1] visas, skriv ut filnamnet ordagrant och avsluta posterna med NUL, i stllet fr LF. Om inget format anges innebr detta utdataformatet--porcelain. Utan-z-alternativet citeras filnamn med "ovanliga" tecken enligt beskrivningen fr konfigurationsvariabelncore.quotePath(se git-config[1]). -
-F<fil> -
--file=<fil> -
Hmta incheckningsmeddelandet frn <fil>. Anvnd - fr att lsa meddelandet frn standardindata.
-
--author=<frfattare> -
sidostt incheckningsfrfattaren. Ange en explicit frfattare med standardformatet A U Thor <frfattare@example.com>. Annars antas <frfattare> vara ett mnster och anvnds fr att ska efter en befintlig incheckning av den frfattaren (d.v.s.
gitrev-list--all-i--author=<frfattare>); incheckningsfrfattaren kopieras sedan frn den frsta hittade incheckningen. -
--date=<datum> -
sidostt frfattardatumet som anvndes i incheckningen.
-
-m<medd> -
--message=<medd> -
Anvnd <medd> som incheckningsmeddelande. Om flera
-m-alternativ anges, sammanfogas deras vrden som separata stycken.Alternativet
-mutesluter-c,-Coch-F. -
-t<fil> -
--template=<fil> -
Nr du redigerar incheckningsmeddelandet, starta redigeraren med innehllet i <fil>. Konfigurationsvariabeln
commit.templateanvnds ofta fr att ge denna mjlighet implicit till kommandot. Denna mekanism kan anvndas av projekt som vill vgleda deltagarna med ngra tips om vad de ska skriva i meddelandet och i vilken ordning. Om anvndaren avslutar redigeraren utan att redigera meddelandet avbryts incheckningen. Detta har ingen effekt nr ett meddelande ges p annat stt, t.ex. med alternativen-meller-F. -
-s -
--signoff -
--no-signoff -
Lgg till en
Signed-off-byi slutet av incheckningsloggmeddelandet. Betydelsen av en signering beror p det projekt som bidrag lmnas till. Det kan till exempel intyga att incheckaren har rtt att skicka in arbetet under projektets licens eller godknner ngon bidragsgivares representation, till exempel ett Developer Certificate of Origin. (Se https://developercertificate.org fr det som anvnds av Linuxkrnan och Git-projekten.) Konsultera dokumentationen eller ledningen fr det aktuella projektet fr att frst hur signering anvnds dr.Alternativet
--no-signoffkan anvndas fr att upphva ett tidigare--signoff-alternativ p kommandoraden.Git har inte (och kommer inte ha) en konfigurationsvariabel fr att aktivera kommandoradsalternativet
--signoffsom standard; secommit.signoff-posten i gitfaq[7] fr mer information.
-
--trailer<token>[(=|:)<vrde>] -
Ange ett (<token>, <vrde>)-par som ska anvndas som en slutrad. (t.ex. git commit --trailer "Signed-off-by:C O Mitter \ <committer@example.com>" --trailer "Helped-by:C O Mitter \ <committer@example.com>" kommer att lgga till slutraden
Signed-off-byoch slutradenHelped-byi incheckningsmeddelandet.) Konfigurationsvariablernatrailer.*(git-interpret-trailers[1]) kan anvndas fr att definiera om en duplicerad trailer utelmnas, var i slutradsserien varje trailer ska visas och andra detaljer. -
-n -
--verify -
--no-verify -
Hoppa ver krokarna
pre-commitochcommit-msg. Se ven githooks[5]. -
--allow-empty -
Vanligtvis r det ett misstag att registrera en incheckning som har exakt samma trd som dess enda verordnade incheckning, och kommandot hindrar dig frn att gra en sdan incheckning. Det hr alternativet kringgr skerheten och anvnds frmst av frmmande SCM-grnssnittsskript.
-
--allow-empty-message -
Skapa en commit med ett tomt incheckningsmeddelande utan att anvnda lgnivkommandon som git-commit-tree[1]. Precis som
--allow-emptyr detta kommando frmst avsett fr anvndning av frmmande SCM-grnssnittsskript. -
--cleanup=<lge> -
Bestm hur det angivna incheckningsmeddelandet ska rensas upp innan det checkas in. <mode> kan vara
strip,whitespace,verbatim,scissorsellerdefault.-
strip -
Ta bort inledande och efterfljande tomma rader, efterfljande blanksteg, kommentarer och dlj p varandra fljande tomma rader.
-
whitespace -
Samma som
stripfrutom att #kommentarer inte tas bort. -
verbatim -
ndra inte meddelandet alls.
-
scissors -
Samma som
blankteckenfrutom att allt frn (och inklusive) raden nedanfr avkortas om meddelandet ska redigeras. "#" kan anpassas medcore.commentChar.# ------------------------ >8 ------------------------
-
default -
Samma som
stripom meddelandet ska redigeras. Annarswhitespace.
Standardvrdet kan ndras med konfigurationsvariabeln
commit.cleanup(se git-config[1]). -
-
-e -
--edit -
Lt anvndaren ytterligare redigera meddelandet som tagits frn <fil> med
-F<fil>, kommandoraden med-m<meddelande> och frn <incheckning> med-C<incheckning>. -
--no-edit -
Anvnd det valda incheckningsmeddelandet utan att starta en redigerare. Till exempel ndrar
gitcommit--amend--no-editen incheckning utan att ndra dess incheckningsmeddelande. -
--amend -
Erstt toppen av den aktuella grenen genom att skapa en ny incheckning. Det inspelade trdet frbereds som vanligt (inklusive effekten av alternativen
-ioch-osamt ett explicit skvgsmnster), och meddelandet frn den ursprungliga incheckningen anvnds som utgngspunkt, i stllet fr ett tomt meddelande, nr inget annat meddelande anges frn kommandoraden via alternativ som-m,-F,-c, etc. Den nya incheckningen har samma frldrar och frfattare som den aktuella (alternativet--reset-authorkan motverka detta).Det motsvarar ungefr:
$ git reset --soft HEAD^ $ ... gr ngot annat fr att f fram rtt trd ... $ git commit -c ORIG_HEAD
men kan anvndas fr att ndra en sammanslagningsincheckning.
Du br frst konsekvenserna av att skriva om historiken om du ndrar en incheckning som redan har publicerats. (Se avsnittet "TERSTLLA FRN UPSTRMSREBASE" i git-rebase[1].)
-
--no-post-rewrite -
Hoppa ver kroken
post-rewrite. -
-i -
--include -
Innan du gr en incheckning frn det hittills kaded innehllet, ka ven innehllet i de skvgar som anges p kommandoraden. Detta r vanligtvis inte vad du vill om du inte slutfr en konfliktfylld sammanslagning.
-
-o -
--only -
Gr en incheckning genom att hmta det uppdaterade innehllet i arbetstrdet fr de skvgar som anges p kommandoraden, utan att ta hnsyn till innehll som r kade fr andra skvgar. Detta r standardlget fr
gitcommitom ngra skvgar anges p kommandoraden, i vilket fall detta alternativ kan utelmnas. Om detta alternativ anges tillsammans med--amendbehver inga skvgar anges, vilka kan anvndas fr att ndra den senaste incheckningen utan att checka in ndringar som redan har kats. Om de anvnds tillsammans med--allow-emptykrvs inte heller ngra skvgar, och en tom incheckning kommer att skapas. -
--pathspec-from-file=<fil> -
Skicka skvgsmnster i <fil> i stllet fr kommandoradsargument. Om <fil> r exakt
-anvnds standardindata. Skvgsmnsterposter separeras med LF eller CR/LF. Skvgsmnsterposter kan citeras enligt beskrivningen fr konfigurationsvariabelncore.quotePath(se git-config[1]). Se ven--pathspec-file-nuloch globala--literal-pathspecs. -
--pathspec-file-nul -
Endast meningsfullt med
--pathspec-from-file. Skvgsmnsterposter separeras med tecknet NUL och alla andra tecken tolkas bokstavligt (inklusive radbrytningar och citattecken). -
-u[<lge>] -
--untracked-files[=<lge>] -
Visa osprade filer.
Parametern <mode> r valfri (standardinstllningen r
all) och anvnds fr att ange hanteringen av osprade filer; nr-uinte anvnds r standardinstllningennormal, d.v.s. visar osprade filer och kataloger.De mjliga alternativen r:
Alla vanliga stavningar fr det booleska vrdet
truetas somnormalochfalsesomno. Standardvrdet kan ndras med hjlp av konfigurationsvariabelnstatus.showUntrackedFilessom dokumenteras i git-config[1]. -
-v -
--verbose -
Visa en enhetlig skillnad mellan
HEAD-incheckning och vad som skulle checkas in lngst ner i incheckningsmeddelandemallen fr att hjlpa anvndaren att beskriva incheckningen genom att pminna om vilka ndringar incheckningen har. Observera att denna diff-utdata inte har sina rader prefixerade med#. Denna skillnad kommer inte att vara en del av incheckningsmeddelandet. Se konfigurationsvariabelncommit.verbosei git-config[1].Om det anges tv gnger, visa dessutom den enhetliga skillnaden mellan vad som skulle checkas in och arbetstrdet, d.v.s. de okade ndringarna av sprade filer.
-
-q -
--quiet -
Undertryck sammanfattnings-meddelande fr incheckningen.
-
--dry-run -
Skapa inte en incheckning, utan visa en lista ver skvgar som ska checkas in, skvgar med lokala ndringar som kommer att lmnas oincheckade och skvgar som inte spras.
-
--status -
Inkludera utdata frn git-status[1] i incheckningsmeddelandemallen nr en redigerare anvnds fr att frbereda incheckningsmeddelandet. Standardinstllningen r p, men kan anvndas fr att sidostta konfigurationsvariabeln
commit.status. -
--no-status -
Inkludera inte utdata frn git-status[1] i incheckningsmeddelandemallen nr du anvnder en redigerare fr att frbereda standardincheckningsmeddelandet.
-
-S[<nyckel-id>] -
--gpg-sign[=<nyckel-id>] -
--no-gpg-sign -
GPG-signera incheckning. <nyckel-id> r valfri och anvnds som standard fr incheckare-identiteten; om den anges mste den fstas vid alternativet utan mellanslag.
--no-gpg-signr anvndbar fr att negligera bde konfigurationsvariabelncommit.gpgSignoch den tidigare--gpg-sign. -
-- -
Tolka inte fler argument som alternativ.
- <skvgsmnster>...
-
Nr <skvgsmnster> anges p kommandoraden, checka in innehllet i filerna som matchar skvgsmnster utan att registrera de ndringar som redan lagts till i indexet. Innehllet i dessa filer kas ocks fr nsta incheckning utver vad som har kats tidigare.
Fr mer information, se posten skvgsmnster i gitglossary[7].
EXEMPEL
Nr du checkar in ditt eget arbete lagras innehllet i modifierade filer i arbetstrdet tillflligt i en kyta som kallas "index" med git add. En fil kan terstllas, endast i indexet men inte i arbetstrdet, till lget i den senaste incheckningen med git restore --staged <fil>, vilket i praktiken ngrar git add och frhindrar att ndringarna i filen tas med i nsta incheckning. Efter att tillstndet som ska checkas in stegvis har byggts upp med dessa kommandon anvnds git commit (utan ngon skvgsparameter) fr att registrera det som hittills har kats. Detta r den mest grundlggande formen av kommandot. Ett exempel:
$ edit hej.c $ git rm adj.c $ git add hej.c $ git commit
I stllet fr att ka filer efter varje enskild ndring kan du ange att git commit ska notera ndringarna i de filer vars innehll spras i ditt arbetstrd och gra motsvarande git add och git rm t dig. Det vill sga, det hr exemplet gr samma sak som det tidigare exemplet om det inte finns ngon annan ndring i ditt arbetstrd:
$ edit hej.c $ rm adj.c $ git commit -a
Kommandot git commit -a tittar frst p ditt arbetstrd, ser att du har ndrat hello.c och tagit bort goodbye.c, och utfr ndvndiga git add och git rm t dig.
Efter att ha kat ndringar i mnga filer kan du ndra ordningen som ndringarna registreras i genom att ge skvgar till git commit. Nr skvgar anges gr kommandot en incheckning som bara registrerar de ndringar som gjorts i de namngivna skvgarna:
$ edit hej.c hej.h $ git add hej.c hej.h $ edit Makefile $ git commit Makefile
Det hr skapar en incheckning som registrerar modifieringen till Makefile. ndringarna som kats fr hej.c och hej.h inkluderas inte i den resulterande incheckningen. Deras ndringar gr dock inte frlorade — de kas fortfarande och hlls bara tillbaka. Om du gr det efter ovanstende sekvens:
$ git commit
Denna andra incheckningen skulle registrera ndringarna av hej.c och hej.h som frvntat.
Efter att en sammanslagning (initierad av git merge eller git pull) har stoppats p grund av konflikter r rent sammanslagna skvgar redan kade fr incheckning, och skvgar med konflikt lmnas ej sammanslagna. Du behver frst kontrollera vilka skvgar som r i konflikt med git status och, efter att ha tgrdat dem manuellt i arbetstrdet, ka resultatet som vanligt med git add:
$ git status | grep unmerged unmerged: hej.c $ edit hej.c $ git add hej.c
Efter att konflikter har lsts och resultatet kats, kommer git ls-files -u att sluta nmna den konfliktfyllda skvgen. Nr du r klar, kr git commit fr att slutligen registrera sammanslagningen:
$ git commit
Precis som i fallet med att registrera dina egna ndringar kan du anvnda alternativet -a fr att spara skrivning. En skillnad r att under en sammanslagningslsning kan du inte anvnda git commit med skvgar fr att ndra ordningen som ndringarna checkas in, eftersom sammanslagningen ska registreras som en enda incheckning. Kommandot vgrar faktiskt att kras nr det ges skvgar (men se alternativet -i).
INCHECKNINGS INFORMATION
Information om frfattare och incheckare hmtas frn fljande miljvariabler, om de r instllda:
-
GIT_AUTHOR_NAME -
GIT_AUTHOR_EMAIL -
GIT_AUTHOR_DATE -
GIT_COMMITTER_NAME -
GIT_COMMITTER_EMAIL -
GIT_COMMITTER_DATE
(obs "<", ">" och "\n" r avskalade)
Frfattar- och incheckare-namnen r enligt konvention ngon form av ett personnamn (det vill sga det namn som andra mnniskor refererar till dig med), ven om Git inte tillmpar eller krver ngon srskild form. Godtycklig Unicode kan anvndas, med frbehll fr de begrnsningar som anges ovan. Detta namn har ingen effekt p autentisering; fr detta, se variabeln credential.username i git-config[1].
Om (ngra av) dessa miljvariabler inte r angivna, hmtas informationen frn konfigurationsalternativen user.name och user.email, eller, om de inte finns, miljvariabeln EMAIL, eller, om den inte r angiven, systemanvndarnamnet och vrdnamnet som anvnds fr utgende e-post (hmtat frn /etc/mailname och anvnder det fullstndiga kvalificerade vrdnamnet nr den filen inte finns).
author.name och committer.name och deras motsvarande e-postalternativ sidostter user.name och user.email om de r instllda och sidostts sjlva av miljvariablerna.
Den typiska anvndningen r att bara ange variablerna user.name och user.email; de andra alternativen finns fr mer komplexa anvndningsfall.
DATUMFORMAT
Miljvariablerna GIT_AUTHOR_DATE och GIT_COMMITTER_DATE stder fljande datumformat:
- Git internt format
-
Det r <unix-timestamp> <time-zone-offset>, dr <unix-timestamp> r antalet sekunder sedan UNIX-epoken. <time-zone-offset> r en positiv eller negativ frskjutning frn UTC. Till exempel r CET (som r 1 timme fre UTC)
+0100. - RFC 2822
-
Standarddatumformatet som beskrivs av RFC 2822, till exempel
Tor,07Apr200522:13:13+0200. - ISO 8601
-
Tid och datum som anges av ISO 8601-standarden, till exempel
2005-04-07T22:13:13. Parsern accepterar ven ett mellanslag i stllet fr tecknetT. Brkdelar av en sekund kommer att ignoreras, till exempel2005-04-07T22:13:13.019kommer att behandlas som2005-04-07T22:13:13.NoteDessutom accepteras datumdelen i fljande format: .MM.DD, MM/DD/ och DD.MM..
Frutom att knna igen alla datumformat ovan, kommer alternativet --date ocks att frska frst andra, mer mnniskocentrerade datumformat, ssom relativa datum som "yesterday" (igr) eller "yesterday" (frra fredagen vid middagstid).
DISKUSSION
ven om det inte r ett krav r det en bra id att brja incheckningsmeddelandet med en enda kort rad (hgst 50 tecken) som sammanfattar ndringen, fljt av en tom rad och sedan en mer utfrlig beskrivning. Texten fram till den frsta tomma raden i ett incheckningsmeddelande behandlas som incheckningstiteln, och den titeln anvnds i hela Git. Till exempel, git-format-patch[1] omvandlar en incheckning till ett e-postmeddelande, och den anvnder titeln p mnesraden och resten av incheckningsmeddelandet i brdtexten.
Git r till viss del teckenkodningsagnostisk.
-
Innehllet i blob-objekten r otolkade sekvenser av byte. Det finns ingen kodningsversttning p krnniv.
-
Skvgsnamn r kodade i UTF-8-normaliseringsform C. Detta gller trdobjekt, indexfilen, referensnamn, svl som skvgsnamn i kommandoradsargument, miljvariabler och konfigurationsfiler (
.git/config(se git-config[1]), gitignore[5], gitattributes[5] och gitmodules[5]).Observera att Git p krnniv behandlar skvgsnamn helt enkelt som sekvenser av icke-NUL-byte, det finns inga konverteringar av skvgskodning (frutom p Mac och Windows). Drfr fungerar anvndning av skvgsnamn som inte r ASCII-namn oftast ven p plattformar och filsystem som anvnder ldre utkade ASCII-kodningar. Kodfrrd som skapas p sdana system kommer dock inte att fungera korrekt p UTF-8-baserade system (t.ex. Linux, Mac, Windows) och vice versa. Dessutom antar mnga Git-baserade verktyg helt enkelt att skvgsnamn r UTF-8 och kommer inte att kunna visa andra kodningar korrekt.
-
Meddelanden i commitloggar kodas vanligtvis i UTF-8, men andra utkade ASCII-kodningar stds ocks. Detta inkluderar ISO-8859-x, CP125x och mnga andra, men inte UTF-16/32, EBCDIC och CJK multibyte-kodningar (GBK, Shift-JIS, Big5, EUC-x, CP9xx etc.).
ven om vi uppmuntrar att incheckningsloggmeddelanden kodas i UTF-8, r bde krnan och anvndarkommandona (porcelain) i Git utformade fr att inte tvinga fram UTF-8 i projekt. Om alla deltagare i ett visst projekt tycker att det r bekvmare att anvnda ldre kodningar, frbjuder inte Git det. Det finns dock ngra saker att tnka p.
-
gitcommitochgitcommit-treeutfrdar en varning om incheckningsloggmeddelandet som ges till det inte ser ut som en giltig UTF-8-strng, svida du inte uttryckligen anger att ditt projekt anvnder en ldre kodning. Sttet att sga detta r att hai18n.commitEncodingi.git/config-filen, s hr:[i18n] commitEncoding = ISO-8859-1
Incheckningsobjekt som skapats med ovanstende instllning registrerar vrdet fr
i18n.commitEncodingi sinencoding-header. Detta r fr att hjlpa andra som tittar p dem senare. Avsaknaden av denna header innebr att incheckningsloggmeddelandet r kodat i UTF-8. -
gitlog,gitshow,gitblameoch vnner tittar pencoding-headern fr ett incheckningsobjekt och frsker koda om loggmeddelandet till UTF-8 om inget annat anges. Du kan ange nskad utdatakodning medi18n.logOutputEncodingi.git/config-filen, s hr:[i18n] logOutputEncoding = ISO-8859-1
Om du inte har den hr konfigurationsvariabeln anvnds vrdet fr
i18n.commitEncodingi stllet.
Observera att vi medvetet valde att inte koda om incheckningsloggmeddelandet nr en incheckning grs fr att tvinga fram UTF-8 p incheckningsobjektniv, eftersom omkodning till UTF-8 inte ndvndigtvis r en reversibel operation.
MILJ- OCH KONFIGURATIONSVARIABLER
Redigeraren som anvnds fr att redigera incheckningsloggmeddelandet kommer att vljas frn miljvariabeln GIT_EDITOR, konfigurationsvariabeln core.editor, miljvariabeln VISUAL eller miljvariabeln EDITOR (i den ordningen). Se git-var[1] fr mer information.
Allt ovanfr den hr raden i det hr avsnittet finns inte med i dokumentationen fr git-config[1]. Innehllet som fljer r detsamma som det som finns dr:
-
commit.cleanup -
Den hr instllningen sidostter standardinstllningen fr
--cleanup-alternativet igitcommit. Att ndra standardinstllningen kan vara anvndbart nr du alltid vill behlla rader som brjar med kommentartecknet (core.commentChar, standard#) i ditt loggmeddelande, i vilket fall du skulle gragitconfigcommit.cleanupwhitespace(observera att du sjlv mste ta bort hjlpraderna som brjar med kommentartecknet i incheckning-loggmallen om du gr detta). -
commit.gpgSign -
En boolesk kod som anger om alla incheckningar ska GPG-signeras. Anvndning av det hr alternativet vid operationer som ombasering kan resultera i att ett stort antal incheckningar signeras. Det kan vara praktiskt att anvnda en agent fr att undvika att skriva in din GPG-lsenfras flera gnger.
-
commit.status -
Ett booleskt vrde fr att aktivera/inaktivera inkludering av statusinformation i incheckningsmeddelandemallen nr en redigerare anvnds fr att frbereda incheckningsmeddelandet. Standardvrdet r
true. -
commit.template -
Ange skvgen till en fil som ska anvndas som mall fr nya incheckningsmeddelanden.
-
commit.verbose -
Ett booleskt vrde eller ett heltal fr att ange utfrlighetsnivn med
gitcommit.
KROKAR
Det hr kommandot kan kra hakarna commit-msg, prepare-commit-msg, pre-commit, post-commit och post-rewrite. Se githooks[5] fr mer information.
FILER
-
$GIT_DIR/COMMIT_EDITMSG -
Den hr filen innehller incheckningsmeddelandet fr en pgende incheckning. Om
gitcommitavslutas p grund av ett fel innan en incheckning skapas, kommer alla incheckningsmeddelanden som har tillhandahllits av anvndaren (t.ex. i en redigeringssession) att finnas tillgngliga i den hr filen, men kommer att skrivas ver av nsta anrop avgitcommit.
GIT
En del av git[1]-sviten