Es sollte Ihnen so etwas geben:
$ git log cee157
error: short SHA1 cee157 is ambiguous.
error: short SHA1 cee157 is ambiguous.
fatal: ambiguous argument 'cee157': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Ich habe dies gerade in einem echten Git-Repository getestet, indem ich Commits mit doppelten Präfixen wie diesem gefunden habe:
git rev-list master | cut -c-4 | sort | uniq -c | sort -nr | head
Dies nimmt die Liste der Revisionen auf master, schneidet die ersten 4 Zeichen aus und wirft den Rest weg, zählt die Duplikate und sortiert numerisch. In meinem relativ kleinen Repository mit ~ 1500 Commits habe ich einige Revisionen mit einem gemeinsamen 4-stelligen Präfix gefunden. Ich habe ein 4-stelliges Präfix gewählt, da dies die kürzeste legale Länge zu sein scheint, die von Git unterstützt wird. (Funktioniert nicht mit 3 oder weniger Ziffern, auch wenn dies nicht mehrdeutig ist.)
Übrigens war dies kein Tippfehler, ich weiß nicht, warum die Fehlermeldung über mehrdeutiges SHA1 zweimal erscheint, unabhängig von der Anzahl der doppelten SHA1 (versucht mit 2 und 3):
error: short SHA1 cee157 is ambiguous.
error: short SHA1 cee157 is ambiguous.
(Beide eingeschaltet stderr. Eigentlich ist der gesamte Ausgang eingeschaltet stderr, nichts eingeschaltet stdout.)
In Windows getestet:
$ git --version
git version 1.8.1.msysgit.1
Ich denke , es ist sicher zu sagen , dass , wenn Ihre Version> = 1.8.1, Git werden Sie von Duplikaten warnen. (Es wird sich weigern, mit Duplikaten zu arbeiten.) Ich würde vermuten, dass viel ältere Versionen auch so funktionierten.
AKTUALISIEREN
Wenn Sie dies testen, benötigen Sie aufgrund von int minimum_abbrev = 4in environment.c mindestens 4-stelliges SHA1 . (Danke @devnull für den Hinweis!)
man gitrevisions, was zumindest impliziert, dass eine Warnung ausgegeben wird, da angegeben wird, dass Sie eine Revision mit ihrem vollständigen SHA1-1-Namen oder "einem führenden Teilstring, der innerhalb des Repositorys eindeutig ist" benennen können.