Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
格式为.gitconfig的git别名_Git_Git Alias - Fatal编程技术网

格式为.gitconfig的git别名

格式为.gitconfig的git别名,git,git-alias,Git,Git Alias,我尝试了与这里描述的几乎相同的方法,但遇到了相同的问题: 当然,这个主题的解决方案是有效的 但假设我想在git名称空间中对我的git函数进行分组,也就是说,在不久前运行git gl。 但当我尝试直接在.gitconfig中定义函数时: gl=“!f(){git log--all--pretty=格式:“%h%cd%s(%an)”--since=“$1”};f“ 我有和以前一样的错误-致命:不明确的参数…拉拉… 即使在.bash_概要文件中定义函数并从git alias调用函数,也会发生同样的情

我尝试了与这里描述的几乎相同的方法,但遇到了相同的问题:

当然,这个主题的解决方案是有效的

但假设我想在git名称空间中对我的git函数进行分组,也就是说,在不久前运行
git gl
。 但当我尝试直接在.gitconfig中定义函数时:

gl=“!f(){git log--all--pretty=格式:“%h%cd%s(%an)”--since=“$1”};f“

我有和以前一样的错误-
致命:不明确的参数…拉拉…

即使在.bash_概要文件中定义函数并从git alias调用函数,也会发生同样的情况

使用“全局”函数不是什么大问题,但我想知道,为什么会发生这种情况?是否有可能在.gitconfig中定义这样的函数?

这是一个引用问题

我还没有看到任何东西能够正确地描述引用在git别名中的工作方式,但这是有效的:

gl = "!f() { git log --all --pretty=format:'%h %cd %s (%an)' --since=\"$1\"; }; f"
也就是说,使用反斜杠双引号将双引号传递到shell别名,以便展开$1

请注意,您必须以以下方式调用它:

$ git gl "one year ago"
$ git gl one year ago
如果使用
$*
,而不是
$1
,则可以如下方式调用它:

$ git gl "one year ago"
$ git gl one year ago

这很方便。

+1。我想知道你是怎么知道的?试错?实验。有用的项目包括在环境中设置GIT_TRACE(非零),在shell函数中设置-x,这样您就可以看到在何处显示了什么。(我刚才做了这个实验,并在我的.gitconfig中留下了一些注释掉的别名作为提醒。)