这是我在.bash_aliases中的内容:
function gga { git log --all --grep=$1; }
这是一个电话,结果是:
gga "remove private"
fatal: ambiguous argument 'remove private': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
我也试过
function gga { git log --all --grep="$1"; }
function gga { git log --all --grep='$1'; }
function gga { git log --all --grep="$@"; }
具有完全相同的结果。
我想要发生的事情:
$ git log --all --grep="remove private"
commit 1916fca1a5609cec7474b5d507fa8760d4877648
...
我做错了什么?有没有办法做到这一点? AFAICT我正在做this question.
中建议的事情答案 0 :(得分:0)
您尝试过的以下代码应按预期运行。
function gga { git log --all --grep="$1"; }
然后这样称呼它:
gga "remove private"
如果它没有按预期工作,请尝试运行type gga
,看看函数定义是否与您定义的匹配。它还有助于捕获其他命令/别名等的阴影。
应该返回这样的内容:
$ type gga
gga is a function
gga ()
{
git log --all --grep="$1"
}
答案 1 :(得分:0)
function gga { git log --all --grep="$@"; }
这是我尝试的第一个功能,是正确的。所有的尝试都被别名所掩盖。