如何使用zsh正确获取git笔记?

如何使用zsh正确获取git笔记?,git,zsh,git-fetch,Git,Zsh,Git Fetch,最近我使用的流浪汉图像切换到了zsh,我无法用它从远程获取git便笺。我尝试: git fetch origin refs/notes/*:refs/notes/* 并获得: zsh: no matches found: refs/notes/*:refs/notes/* 那么正确的命令是什么?假设您的命令有意义(我不确定这一点),那么refs/notes/:refs/notes/中的冒号可能被解释为设备名称的结尾,或者是一些奇怪的东西。尝试在该参数周围加上单引号,以阻止zsh试图“理解”它

最近我使用的流浪汉图像切换到了zsh,我无法用它从远程获取git便笺。我尝试:

git fetch origin refs/notes/*:refs/notes/*
并获得:

zsh: no matches found: refs/notes/*:refs/notes/*

那么正确的命令是什么?

假设您的命令有意义(我不确定这一点),那么
refs/notes/:refs/notes/
中的冒号可能被解释为设备名称的结尾,或者是一些奇怪的东西。尝试在该参数周围加上单引号,以阻止zsh试图“理解”它


假设您的命令有意义(我不确定这一点),那么
refs/notes/:refs/notes/
中的冒号可能被解释为设备名称的结尾,或者是一些奇怪的东西。尝试在该参数周围加上单引号,以阻止zsh试图“理解”它


zsh看到命令中的星号,认为它是一个glob,并尝试将其展开,但没有与模式匹配的文件,因此失败。如果将参数用单引号括起来,它将不会尝试展开全局,参数将按预期传递:

git fetch origin 'refs/notes/*:refs/notes/*'

zsh看到命令中的星号,认为它是一个glob,并尝试将其展开,但没有与模式匹配的文件,因此失败。如果将参数用单引号括起来,它将不会尝试展开全局,参数将按预期传递:

git fetch origin 'refs/notes/*:refs/notes/*'

或者使用
setopt nonomatch
使zsh的行为类似于bash。然而,Zsh的默认行为更干净。对于git,我建议您使用
别名git='noglob git'
,因为globs很少需要它,而且它可以在您需要的情况下自己进行globbing。或者使用
setopt nonomatch
让zsh像bash一样运行。然而,Zsh的默认行为更干净。对于git,我建议您使用
alias git='noglob git'
,因为在globs中很少需要它,而且它可以在您需要的情况下自己进行globbing。