执行git reset HEAD@{2}报错:unknown switch 'e' 原因咨询
git reset HEAD@{2} 报错 unknown switch `e' 的原因及解决办法
原因
问题出在shell语法冲突上:像csh、tcsh这类shell会把@{}当作数组变量的引用语法。当你输入git reset HEAD@{2}时,shell会先尝试解析这个字符串,把HEAD@{2}里的@{2}当成数组引用处理,导致最终传递给git的参数被篡改,git识别到错误的选项,就抛出了"unknown switch `e'"的报错。
解决办法
- 用单引号包裹
HEAD@{2},阻止shell解析特殊语法:git reset 'HEAD@{2}' - 用反斜杠转义特殊字符,同样能避免shell的错误解析:
git reset HEAD\@\{2\} - 切换到bash、zsh这类不会对
HEAD@{2}语法产生冲突的shell执行命令。
内容的提问来源于stack exchange,提问作者jmoreno
相关产品推荐
相关产品推荐

