我不小心输入了一个大写的Git命令并收到了这个错误:
❯ git LOG
fatal: cannot handle LOG internally
其他有效命令会发生:
fatal: cannot handle COMMIT internally
fatal: cannot handle ADD internally
等等。
但是,完全无效的命令会产生更熟悉的错误消息:
❯ git nonsense
git: 'nonsense' is not a git command. See 'git --help'.
❯ git NONSENSE
git: 'NONSENSE' is not a git command. See 'git --help'.
这些案例之间有什么区别,第一个错误有什么意义吗?
我在OSX Mavericks上使用Git 1.8:
❯ git --version
git version 1.8.5.2 (Apple Git-48)
答案 0 :(得分:1)
在旧版本中,输出曾是git: 'LOG' is not a git command. See 'git --help'.
git version 1.7.9.5
答案 1 :(得分:1)
原因可以在用v1.8.5.2标记的git源代码中找到(你拥有的版本)in file git.c
它将LOG
识别为内部命令名,但后来无法处理它,因为命令查找表中只有小写log
。
简而言之 - 不同的消息是由不同的代码路径引起的,它只是一个错误 - 没有重大意义。
这也在以后的版本中重写 - compare it to current version in master branch here.