Vraag Hoe de hash op te halen voor de huidige commit in Git?


Ik zou graag (voor nu) de mogelijkheid behouden om Git changesets te koppelen aan werkitems die zijn opgeslagen in TFS.

Ik heb al een tool geschreven (met behulp van een haak van Git) waarin ik werkitemidentifiers kan invoegen in het bericht van een Git changeset.

Ik wil echter ook de identifier van de Git commit (de hash) opslaan in een aangepast TFS-werkitemveld. Op deze manier kan ik een werkstuk in TFS bekijken en zien welke Git-changesets aan het werkitem zijn gekoppeld.

Hoe kan ik eenvoudig de hash van de huidige commit van Git ophalen?


1415
2018-06-04 08:42


oorsprong


antwoorden:


Gebruik eenvoudigweg de willekeurige uitgebreide objectreferentie in SHA-1 git-rev-parse, bijvoorbeeld

git rev-parse HEAD

of

git rev-parse --verify HEAD

Kanttekening: Als je wilt draaien referenties (takken en labels) in SHA-1, dat is zo git show-ref en git for-each-ref.


2068
2018-06-04 09:05



Als je alleen de verkorte hash wilt:

git log --pretty=format:'%h' -n 1

Verder is het gebruik van% H een andere manier om de lange hash te krijgen.


324
2017-09-30 23:32



Een andere, met behulp van git log:

git log -1 --format="%H"

Het lijkt erg op de @ @ vancultuur, hoewel een beetje korter.


116
2017-11-21 18:48



Voor de volledigheid, want niemand heeft het al gesuggereerd. .git/refs/heads/master is een bestand dat slechts één regel bevat: de hash van de laatste commit master. Dus je zou het vanaf daar kunnen lezen.

Of als commando:

cat .git/refs/heads/master

Bijwerken:

Merk op dat git nu ondersteunt met het opslaan van enkele hoofd-refs in het pack-ref-bestand in plaats van als een bestand in de map / refs / heads /. https://www.kernel.org/pub/software/scm/git/docs/git-pack-refs.html


61
2017-10-16 11:34



Om de volledige SHA te krijgen:

$ git rev-parse HEAD
cbf1b9a1be984a9f61b79a05f23b19f66d533537

Om de verkorte versie te krijgen:

$ git rev-parse --short HEAD
cbf1b9a

58
2017-07-29 20:04



Er is altijd git describe ook. Standaard geeft het je -

john@eleanor:/dev/shm/mpd/ncmpc/pkg (master)$ git describe 
release-0.19-11-g7a68a75

34
2017-08-26 10:43



Hash hash

git show -s --format=%H

Afgekorte commit-hash

git show -s --format=%h

Klik hier voor meer git show voorbeelden.


25
2018-03-27 19:33



Gebruik git rev-list --max-count=1 HEAD


24
2018-06-04 08:48



Als u de hash in een variabele tijdens een script moet opslaan, kunt u gebruiken

last_commit=$(git rev-parse HEAD)

Of, als u alleen de eerste 10 tekens wilt (zoals github.com)

last_commit=$(git rev-parse HEAD | cut -c1-10) 

18
2017-07-15 16:04