【问题标题】:How to correctly fetch git notes with zsh?如何使用 zsh 正确获取 git 笔记?
【发布时间】:2017-04-13 16:48:37
【问题描述】:

最近我使用的 vagrant image 切换到 zsh 并且我无法使用它从远程获取 git 注释。我试试:

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

得到:

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

那么正确的命令是什么?

【问题讨论】:

    标签: git zsh git-fetch


    【解决方案1】:

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

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

    【讨论】:

    • 或者让 zsh 表现得像 bash,使用setopt nonomatch。然而,Zsh 的默认行为更简洁。对于 git,我建议使用 alias git='noglob git',因为它很少需要与 glob 一起使用,并且它可以在您需要的情况下进行自己的 globbing。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-23
      • 2017-04-15
      • 2019-04-09
      • 2017-07-28
      • 2019-09-21
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多