Git 吉特-”他说;速记;对于不起作用的哈希?

Git 吉特-”他说;速记;对于不起作用的哈希?,git,Git,有人知道为什么会这样吗 $ git log --pretty=oneline --abrev-commit adaa8c4 added a third line 6f80266 added a second line 9c631a4 initial commit $ git checkout 9c $ error: pathspec '9c' did not match any file(s) known to git. $ git checkout 9c631a4 ...works... 我

有人知道为什么会这样吗

$ git log --pretty=oneline --abrev-commit
adaa8c4 added a third line
6f80266 added a second line
9c631a4 initial commit
$ git checkout 9c
$ error: pathspec '9c' did not match any file(s) known to git.
$ git checkout 9c631a4
...works...
我的印象是,我应该只能键入散列的前几个字符,否则它会变得非常烦人

git版本是1.7.3.4,通过MacPorts,运行在OSX 10.6.6上。没有对.gitconfig进行任何可能与远程相关的修改


谢谢!:)

我认为您需要至少键入四个哈希字符。至少,大多数输出短散列的工具不允许您输出少于四个字符。

@MikeC8:通常,即使是四个字符也不足以唯一标识对象(例如提交)。例如,我的git.git克隆大约有146000个对象,远远超过65536(16^4)。