在我的团队中,我们使用 gerrit 进行代码审查。
如您所知,gerrit 使用神奇的“refs/for/*”。
因为我不想打字
git push origin HEAD:refs/for/*
每次我推到远程,
我试图改变我的 git 存储库的配置,如下所示。
git config remote.origin.push refs/heads/*:refs/for/*
更改配置在 bash 中运行良好,
但它在我的 zsh 中失败并出现如下错误。
zsh: no matches found: refs/heads/*:refs/for/*
我认为在 zsh 中使用星号与 bash 有点不同,
但我无法确切知道问题是什么。
我怎么解决这个问题?还是在 zsh 中不可能?
提前致谢。
最佳答案
默认情况下,当 bash 无法 glob 时,它会将整个模式放入未更改的参数中。当 zsh 无法 glob 时,它根本不运行命令,我发现在大多数情况下这更方便。两个 shell 都可以配置,zsh 至少有其他三种模式:do like bash、从参数中删除模式和从参数中删除模式,除非没有匹配的模式。这些行为是通过分别取消设置 NOMATCH
或设置 CSH_NULL_GLOB
或 NULL_GLOB
来实现的。
我建议保持当前行为并使用各种转义方法: 'refs/heads/*:refs/for/*'
(双引号也可以)或 refs/heads/\*:refs/for/\*
。
关于bash - 如何在 Zsh 中配置 gerrit 引用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15892624/