git用"git reset --har"做了什么命令

sja*_*ski 11 git

我在我的本地git分支上输入之前错过了tab键,我最终执行了:

git reset --har
Run Code Online (Sandbox Code Playgroud)

与预期的

git reset --hard
Run Code Online (Sandbox Code Playgroud)

通常git在运行看似错误的命令时会抱怨.我通过--help查看了git reset,发现没有"h","a","r"的args.

它似乎已经运行了硬复位,它实际上运行了什么?或者,如果它运行" - 硬"为什么?

附加信息:sylvesterjakubowski $ git --version git version 1.7.12.4(Apple Git-37)#on mountain lion.

man*_*lds 8

这是根据gitcli文档页面:

许多命令允许长选项"--option"仅缩写为其唯一的前缀(例如,如果没有其他选项,其名称以"opt"开头,您可以拼写"--opt"来调用" - 选择"标志",但你应该在编写脚本时完全拼写它们; 更高版本的Git可能会引入一个新选项,其名称共享相同的前缀,例如"--optimize",以创建一个以前不再唯一的短前缀.

也在同一页面上:

支持增强选项解析器的命令接受long选项的唯一前缀,就好像它是完全拼写的一样,但请谨慎使用它.例如,git commit --amen就像你输入git commit --amend一样,但只有在更高版本的Git引入另一个共享相同前缀的选项时才会这样,例如`git commit --amenity"选项.

所以是的,它跑了 git reset --hard