Я был заинтригован Джошем Стоуном для анализа столкновений аббревиатуры sha1.
Скажем, кто-то записал сокращенный идентификатор commit, 8b82547e33
, в то время, когда он был однозначным. Но с тех пор другие объекты были созданы с тем же префиксом, так что теперь git сообщает вам (дважды по какой-то причине):
$ git show 8b82547e33
error: short SHA1 8b82547e33 is ambiguous.
error: short SHA1 8b82547e33 is ambiguous.
fatal: ambiguous argument '8b82547e33': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Теперь, как человек, я мог бы, вероятно, сказать, какой объект я имел в виду, если git просто покажет мне неоднозначные объекты. Как я могу добиться чего-то вроде следующего?
$ git objects-starting-with 8b82547e33
8b82547e33e: commit: l2tp: Restore socket refcount when sendmsg succeeds
8b82547e338: tree [2 files, 26 subtrees]
(Примечание: приведенные выше примеры используют относительно текущий клон http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git.)