Svenska ▾ Topics ▾ Latest version ▾ git-show-ref last updated in 2.46.0

NAMN

git-show-ref - Lista referenser i ett lokalt arkiv

SYNOPSIS

git show-ref [--head] [-d | --dereference]
	     [-s | --hash[=<n>]] [--abbrev[=<n>]] [--branches] [--tags]
	     [--] [<mönster>…​]
git show-ref --verify [-q | --quiet] [-d | --dereference]
	     [-s | --hash[=<n>]] [--abbrev[=<n>]]
	     [--] [<ref>…​]
git show-ref --exclude-existing[=<mönster>]
git show-ref --exists <ref>

BESKRIVNING

Visar referenser som är tillgängliga i ett lokalt arkiv tillsammans med tillhörande incheckning-ID:n. Resultat kan filtreras med hjälp av ett mönster och taggar kan avrefereras till objekt-ID:n. Dessutom kan den användas för att testa om en viss referens finns.

Som standard, visar taggar, rubriker och fjärrreferenser.

Formuläret --exclude-existing är ett filter som gör det motsatta. Det läser referenser från stdin, en referens per rad, och visar de som inte finns i det lokala förvaret.

Formen --exists kan användas för att kontrollera om det finns en enskild referens. Denna form verifierar inte om referensen är kopplad till ett faktiskt objekt.

Användning av detta verktyg uppmuntras för att direkt komma åt filer under .git-katalogen.

ALTERNATIV

--head

Visa HEAD-referensen, även om den normalt skulle filtreras bort.

--branches
--tags

Begränsa till lokala grenar respektive lokala taggar. Dessa alternativ utesluter inte varandra; när båda anges visas referenser som lagras i "refs/heads" och "refs/tags". Observera att --heads är en föråldrad synonym för --branches och kan komma att tas bort i framtiden.

-d
--dereference

Avreferera även taggar till objekt-ID:n. De kommer att visas med ^{} tillagt.

-s
--hash[=<n>]

Visa endast OID, inte referensnamnet. När det kombineras med --dereference kommer den avreferenserade taggen fortfarande att visas efter OID.

--verify

Möjliggör striktare referenskontroll genom att kräva en exakt referenssökväg. Förutom att returnera felkoden 1, kommer den också att skriva ut ett felmeddelande om --quiet inte angavs.

--exists

Kontrollera om den angivna referensen finns. Returnerar en avslutningskod på 0 om den gör det, 2 om den saknas och 1 om sökningen av referensen misslyckades med ett annat fel än att referensen saknas.

--abbrev[=<n>]

Förkorta objektnamnet. När du använder --hash behöver du inte säga --hash --abbrev; --hash=n skulle fungera.

-q
--quiet

Skriv inte ut några resultat till stdout. Kan användas med --verify för att tyst kontrollera om en referens finns.

--exclude-existing[=<mönster>]

git show-ref att fungera som ett filter som läser referenser från stdin av formen ^(?:<anything>\s)?<refname>(?:\^{})?$ och utför följande åtgärder på var och en: (1) ta bort ^{} i slutet av raden om det finns någon; (2) ignorera om mönster anges och inte huvud-matchar refname; (3) varna om refname inte är ett korrekt formaterat refname och hoppa över; (4) ignorera om refname är en referens som finns i det lokala förvaret; (5) annars mata ut linjen.

<mönster>…​

Visa referenser som matchar ett eller flera mönster. Mönster matchas från slutet av det fullständiga namnet, och endast fullständiga delar matchas, t.ex. master matchar refs/heads/master, refs/remotes/origin/master, refs/tags/jedi/master men inte refs/heads/mymaster eller refs/remotes/master/jedi.

UTMATNING

Utdata är i formatet:

<oid> SP <ref> LF

Till exempel,

$ git show-ref --head --dereference
832e76a9899f560a90ffd62ae2ce83bbeff58f54 HEAD
832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/master
832e76a9899f560a90ffd62ae2ce83bbeff58f54 refs/heads/origin
3521017556c5de4159da4615a39fa4d5d2c279b5 refs/tags/v0.99.9c
6ddc0964034342519a87fe013781abf31c6db6ad refs/tags/v0.99.9c^{}
055e4ae3ae6eb344cbabf2a5256a49ea66040131 refs/tags/v1.0rc4
423325a2d24638ddcc82ce47be5e40be550f4507 refs/tags/v1.0rc4^{}
...

När man använder --hash (och inte --dereference) är utdata i formatet:

<oid> LF

Till exempel,

$ git show-ref --branches --hash
2e3ba0114a1f52b47df29743d6915d056be13278
185008ae97960c8d551adcd9e23565194651b5d1
03adf42c988195b50e1a1935ba5fcbc39b2b029b
...

EXEMPEL

För att visa alla referenser som kallas "master", oavsett om det är taggar, headers eller något annat, och oavsett hur djupt i referensnamnhierarkin de befinner sig, använd:

	git show-ref master

Detta kommer att visa "refs/heads/master" men även "refs/remote/other-repo/master", om sådana referenser finns.

När flaggan --verify används kräver kommandot en exakt sökväg:

	git show-ref --verify refs/heads/master

kommer bara att matcha exakt den gren som heter "master".

Om inget matchar, returnerar git show-ref felkoden 1, och vid verifiering visas ett felmeddelande.

För skriptning, kan du be den att vara tyst med flaggan --quiet, vilket låter dig göra saker som

	git show-ref --quiet --verify -- "refs/heads/$headname" ||
		echo "$headname är inte en giltig gren"

för att kontrollera om en viss gren existerar eller inte (notera hur vi faktiskt inte vill visa några resultat, och vi vill använda hela refnamen för den för att inte utlösa problemet med tvetydiga partiella matchningar).

För att bara visa taggar, eller bara riktiga grenhuvuden, använd --tags respektive --branches (om man använder båda visas taggar och grenar, men inte andra slumpmässiga referenser under underkatalogen refs/).

För att göra automatisk avreferering av taggobjekt, använd flaggan -d eller --dereference, så att du kan göra det

	git show-ref --tags --dereference

för att få en lista över alla taggar tillsammans med vad de avrefererar.

FILER

.git/refs/*, .git/packed-refs

GIT

En del av git[1]-sviten