但是,当我切换到使用bash时,它可以工作.
$git reset head^ zsh: no matches found: head^
有没有人见过同样的问题?
解决方法 ^字符在zsh中的文件名扩展中被视为特殊字符,但仅当设置了EXTENDED_GLOB选项时:zsh% setopt noEXTENDED_GLOBzsh% echo head^head^zsh% setopt EXTENDED_GLOBzsh% echo head^zsh: no matches found: head^zsh%
Bash没有此功能. (确切地说,bash确实有一个扩展的glob特性,由shopt -s extglob启用,但是bash的扩展glob语法不会将^字符视为特殊字符.)
启用此功能后,^是一个类似于*但具有不同含义的特殊字符.与*一样,你可以通过将其括在单引号或双引号中或者用反斜杠括起来来禁止它的特殊含义.报价是最简单的解决方案.
而不是
git reset head^
试试这个:
git reset 'head^'
^通配符的含义是不相关的,因为您需要做的就是避免使用它,但无论如何我都会提到它.根据zsh手册,^ X匹配除模式X之外的任何内容.对于head ^的情况,^后面没有任何内容 – 这意味着head ^匹配head,后跟除了什么之外的任何东西.这是一种迂回的说法,即head ^匹配以head开头的文件名,后跟一些非空字符串.给定文件head,head1和head2,模式head ^匹配head1和head2.
总结以上是内存溢出为你收集整理的cygwin – zsh无法识别HEAD ^全部内容,希望文章能够帮你解决cygwin – zsh无法识别HEAD ^所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)