2013-05-07 10 views
26

Mam regularny długi hasz SHA-1. Chciałbym uzyskać najkrótszą jednoznaczną SHA-1 z jego wersją sznurkową. To jest ten, który dostanę przy użyciu git log -1 --pretty=format:%h, zakładając, że długi skrót oznacza ostatnie zatwierdzenie.git get short hash ze zwykłego skrótu

+0

Prawdopodobny duplikat [Get the short git version hash] (http://stackoverflow.com/questions/5694389/get-the-short-git-version-hash) –

Odpowiedz

41

Najkrótsza SHA1 można dostać ma długość 4. Rev parse dadzą Ci SHA1 z 7 domyślnie z krótkim opcji:

git rev-parse --short 921103db8259eb9de72f42db8b939895f5651489 
921103d 

You należy podać 4 do krótkiej opcji, aby mieć najkrótszy jednoznaczny SHA1:

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

Ale jeśli określisz, jak krótki jest to, możesz zaszkodzić jednoznaczności, czy mam rację? –

+7

Nie znajdziemy najkrótszego SHA1 możliwego, ale wciąż wyjątkowego. Jak widać w moim przykładzie SHA1 ma długość 5, nawet jeśli podałem długość 4. – cexbrayat

+2

Może to być niejednoznaczne z przyszłymi zatwierdzeniami. – meawoppl

3

Got go:

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