2013-05-07 14 views
26

Ho una lunga stringa hash SHA-1. Mi piacerebbe ottenere la versione di stringa hash SHA-1 più breve e non ambigua. Cioè, quello che otterrei usando git log -1 --pretty=format:%h, supponendo che l'hash lungo si riferisca all'ultimo commit.get get short hash from regular hash

+0

Possibile duplicato di [Ottieni l'hash della versione git breve] (http://stackoverflow.com/questions/5694389/get-the-short-git-version-hash) –

risposta

41

Lo SHA1 più breve è possibile ottenere ha una lunghezza di 4. parse Rev vi darà una SHA1 di 7 di default con l'opzione di breve:

git rev-parse --short 921103db8259eb9de72f42db8b939895f5651489 
921103d 

È devi specificare 4 per l'opzione breve per avere il più breve inequivocabile SHA1:

git rev-parse --short=4 921103db8259eb9de72f42db8b939895f5651489 
92110 
+1

Ma se si specifica quanto è breve, si potrebbe danneggiare l'ambiguità, vero? –

+7

No, troverà il più breve SHA1 possibile ma ancora unico. Come puoi vedere nel mio esempio, SHA1 ha una lunghezza di 5 anche se ho specificato una lunghezza di 4. – cexbrayat

+2

Potrebbe diventare ambiguo con i commit futuri. – meawoppl

3

capito:

$ git rev-parse --short 1a6f39665adf05810f70b37ef6470bbcf61fcd38 
1a6f396