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.42.1 â 2.54.0 no changes
-
2.42.0
2023-08-21
- 2.33.1 â 2.41.3 no changes
-
2.33.0
2021-08-16
- 2.22.1 â 2.32.7 no changes
-
2.22.0
2019-06-07
- 2.19.3 â 2.21.4 no changes
-
2.19.2
2018-11-21
- 2.17.0 â 2.19.1 no changes
-
2.16.6
2019-12-06
-
2.15.4
2019-12-06
- 2.14.6 no changes
-
2.13.7
2018-05-22
- 2.10.5 â 2.12.5 no changes
-
2.9.5
2017-07-30
- 2.7.6 â 2.8.6 no changes
-
2.6.7
2017-05-05
- 2.5.6 no changes
-
2.4.12
2017-05-05
- 2.1.4 â 2.3.10 no changes
-
2.0.5
2014-12-17
SYNOPSIS
git describe [--all] [--tags] [--contains] [--abbrev=<n>] [<incheckningslik>âŠâ] git describe [--all] [--tags] [--contains] [--abbrev=<n>] --dirty[=<mĂ€rk>] git describe <blob>
BESKRIVNING
Kommandot hittar den senaste taggen som Àr nÄbar frÄn en incheckning. Om taggen pekar pÄ incheckning visas bara taggen. Annars lÀggs taggnamnet till suffixet med antalet ytterligare incheckningar ovanpÄ det taggade objektet och det förkortade objektnamnet för den senaste incheckning. Resultatet Àr ett "mÀnniskolÀsbart" objektnamn som ocksÄ kan anvÀndas för att identifiera incheckningen till andra git-kommandon.
Som standard (utan --all eller --tags) visar git describe bara kommenterade taggar. För mer information om hur man skapar kommenterade taggar, se alternativen -a och -s till git-tag[1].
Om det givna objektet refererar till en blob, kommer den att beskrivas som <incheckningslik>:<sökvÀg>, sÄ att blobben kan hittas vid <sökvÀg> i <incheckningslik>, vilket i sig beskriver den första incheckning dÀr denna blob intrÀffar i en omvÀnd revisionspromenad frÄn HEAD.
ALTERNATIV
- <incheckningslik>âŠâ
-
Incheckning-igt namn att beskriva. StandardvÀrdet Àr HEAD om det utelÀmnas.
- --dirty[=<mÀrk>]
- --broken[=<mÀrk>]
-
Beskriv arbetstrĂ€det. NĂ€r arbetstrĂ€det matchar HEAD, Ă€r utdata detsamma som "git describe HEAD". Om arbetstrĂ€det har en lokal modifiering lĂ€ggs "-dirty" till. Om ett arkiv Ă€r korrupt och Git inte kan avgöra om det finns en lokal modifiering kommer Git att ge ett felmeddelande, sĂ„vida inte â--brokenâ anges, vilket lĂ€gger till suffixet "-broken" i stĂ€llet.
- --all
-
I stÀllet för att bara anvÀnda de kommenterade taggarna, anvÀnd vilken ref som helst som finns i namnrymden
refs/. Det hÀr alternativet möjliggör matchning av vilken kÀnd gren, fjÀrrspÄrad gren eller lÀttviktstagg som helst. - --tags
-
I stÀllet för att bara anvÀnda de kommenterade taggarna, anvÀnd vilken tagg som helst som finns i namnrymden
refs/tags. Det hÀr alternativet möjliggör matchning av en lÀtt (icke-kommenterad) tagg. - --contains
-
I stÀllet för att hitta taggen som föregÄr incheckningen, hitta taggen som kommer efter incheckningen och dÀrmed innehÄller den. Implicerar automatiskt --tags.
- --abbrev=<n>
-
I stÀllet för att anvÀnda standardantalet hexadecimala siffror (som varierar beroende pÄ antalet objekt i kodförrÄdet med standardvÀrdet 7) för det förkortade objektnamnet, anvÀnd <n> siffror, eller sÄ mÄnga siffror som behövs för att bilda ett unikt objektnamn. Ett <n> pÄ 0 kommer att undertrycka lÄngt format och endast visa den nÀrmaste taggen.
- --candidates=<n>
-
I stÀllet för att bara betrakta de 10 senaste taggarna som kandidater för att beskriva indata incheckningslik, betrakta upp till <n> kandidater. Att öka <n> över 10 tar nÄgot lÀngre tid men kan ge ett mer exakt resultat. Ett <n> pÄ 0 kommer att orsaka att endast exakta matchningar matas ut.
- --exact-match
-
Skriv endast ut exakta matchningar (en tagg refererar direkt till den angiven incheckning). Detta Àr en synonym för --candidates=0.
- --debug
-
Visa utförligt information om den sökstrategi som anvÀnds med standardfelet. Taggnamnet kommer fortfarande att skrivas ut till standardut.
- --long
-
Skriv alltid ut det lĂ„nga formatet (taggen, antalet incheckningar och det förkortade incheckningsnamnet) Ă€ven nĂ€r det matchar en tagg. Detta Ă€r anvĂ€ndbart nĂ€r delar av incheckningsobjektets namn ska visas i "describe"-utdata, Ă€ven nĂ€r incheckningen i frĂ„ga rĂ„kar vara en taggad version. I stĂ€llet för att bara skriva ut taggnamnet kommer den att beskriva en sĂ„dan incheckning som v1.2-0-gdeadbee (0:e incheckningen sedan taggen v1.2 som pekar pĂ„ objektets dödbiâŠâ.).
- --match <mönster>
-
Beakta endast taggar som matchar det givna mönstret
glob(7), exklusive prefixet "refs/tags/". Om det anvÀnds med--all, beaktas Àven lokala grenar och fjÀrrspÄrningsreferenser som matchar mönstret, exklusive prefixet "refs/heads/" respektive "refs/remotes/". Referenser av andra typer beaktas aldrig. Om de anges flera gÄnger kommer en lista med mönster att ackumuleras, och taggar som matchar nÄgot av mönstren kommer att beaktas. AnvÀnd--no-matchför att rensa och ÄterstÀlla listan med mönster. - --exclude <mönster>
-
Beakta inte taggar som matchar det givna mönstret
glob(7), exklusive prefixet "refs/tags/". Om det anvÀnds med--all, beaktas inte heller lokala grenar och fjÀrrspÄrningsreferenser som matchar mönstret, exklusive "refs/heads/" respektive "refs/remotes/" prefix; referenser av andra typer beaktas aldrig. Om de anges flera gÄnger kommer en lista med mönster att ackumuleras och taggar som matchar nÄgot av mönstren kommer att exkluderas. NÀr det kombineras med --match kommer en tagg att beaktas nÀr den matchar minst ett --match-mönster och inte matchar nÄgot av --exclude-mönstren. AnvÀnd--no-excludeför att rensa och ÄterstÀlla listan med mönster. - --always
-
Visa unikt förkortade incheckningsobjekt som reserv.
- --first-parent
-
Följ endast den första förÀldraincheckningen nÀr en sammanslagningsincheckning pÄtrÀffas. Detta Àr anvÀndbart nÀr taggar pÄ grenar inte ska matchas i mÄlincheckningens historik.
EXEMPEL
Med nÄgot i stil med git.git aktuellt trÀd, fÄr jag:
[torvalds@g5 git]$ git describe parent v1.0.4-14-g2414721
d.v.s. den nuvarande huvudfilen för min "förÀldra"-gren Àr baserad pÄ v1.0.4, men eftersom den har nÄgra incheckningar utöver det har describe lagt till antalet ytterligare incheckningar ("14") och ett förkortat objektnamn för sjÀlva incheckningen ("2414721") i slutet.
Antalet ytterligare incheckningar Àr det antal incheckningar som skulle visas av "git log v1.0.4..parent". Hash-suffixet Àr "-g" + en entydig förkortning för top-incheckningen för förÀldern (som var 2414721b194453f058079d897d13c4e377f92dc6). LÀngden pÄ förkortningen skalas allt eftersom kodförrÄdet vÀxer, med hjÀlp av det ungefÀrliga antalet objekt i kodförrÄdet och lite matematik kring födelsedagsparadoxen, och standardvÀrdet Àr minst 7. Prefixet "g" stÄr för "git" och anvÀnds för att beskriva versionen av en programvara beroende pÄ vilken SCM programvaran hanteras med. Detta Àr anvÀndbart i en miljö dÀr mÀnniskor kan anvÀnda olika SCM:er.
Att göra en git describe pÄ ett tagnamn visar bara taggnamnet:
[torvalds@g5 git]$ git describe v1.0.4 v1.0.4
Med --all kan kommandot anvÀnda grenhuvuden som referenser, sÄ utdata visar Àven referenssökvÀgen:
[torvalds@g5 git]$ git describe --all --abbrev=4 v1.0.5^2 tags/v1.0.0-21-g975b
[torvalds@g5 git]$ git describe --all --abbrev=4 HEAD^ heads/lt/describe-7-g975b
Med --abbrev satt till 0 kan kommandot anvÀndas för att hitta nÀrmaste taggnamn utan suffix:
[torvalds@g5 git]$ git describe --abbrev=0 v1.0.5^2 tags/v1.0.0
Observera att suffixet du fÄr om du skriver dessa kommandon idag kan vara lÀngre Àn vad Linus sÄg ovan nÀr han körde dessa kommandon, eftersom ditt Git-kodförrÄd kan ha nya incheckningar vars objektnamn börjar med 975b som inte existerade dÄ, och suffixet "-g975b" ensamt kanske inte Àr tillrÀckligt för att tydliggöra dessa incheckningar.
SĂKSTRATEGI
För varje incheckningslik som anges, kommer git describe först att leta efter en tagg som taggar exakt den incheckningen. Annoterade taggar kommer alltid att föredras framför lÀttviktstaggar, och taggar med nyare datum kommer alltid att föredras framför taggar med Àldre datum. Om en exakt matchning hittas kommer dess namn att visas och sökningen stoppas.
Om en exakt matchning inte hittades, kommer git describe att gÄ tillbaka genom incheckningshistoriken för att hitta en förÀlder-incheckning som har taggats. FörfÀderns tagg kommer att matas ut tillsammans med en förkortning av indata-incheckningsliks SHA-1. Om --first-parent angavs kommer vandringen endast att beakta den första förÀldern till varje incheckning.
Om flera taggar hittas under genomgÄngen vÀljs den tagg som har minst antal incheckningar som skiljer sig frÄn indataobjektet och den skrivs ut. HÀr betyder minst antal antalet incheckningar som skulle visas av git log tag..input, d.v.s. minsta möjliga antal incheckningar.
BUGGAR
TrÀdobjekt, liksom taggobjekt som inte pekar pÄ incheckningar, kan inte beskrivas. NÀr blobbar beskrivs ignoreras lÀttviktstaggar som pekar pÄ blobbar, men blobben beskrivs ÀndÄ som <incheckningslik>:<sökvÀg> Àven om lÀttviktstaggen annars vore fördelaktig.
GIT
En del av git[1]-sviten