我正在尝试使用The Ultimate Git Alias Setup创建带自动补全的git别名。我按照说明进行了操作,但将以下内容放入我的.zshrc文件中会导致错误:
错误不直观:
然后我在网上发现,这可能已经从git中弃用了,而这一行代码应该给出相同的输出:
但这并没有起作用。
我还尝试了
编辑:
尝试此命令:
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
function_exists() {
declare -f -F $1 > /dev/null
return $?
}
for al in `__git_aliases`; do
alias g$al="git $al"
complete_func=_git_$(__git_aliased_command $al)
function_exists $complete_fnc && __git_complete g$al $complete_func
done
错误不直观:
.zshrc:153: parse error near
\n'`
但在命令行中尝试运行__git_aliases
时会出现:zsh: command not found: __git_aliases
,所以我想这就是问题所在。然后我在网上发现,这可能已经从git中弃用了,而这一行代码应该给出相同的输出:
git config --global alias.aliases "config --get-regex 'alias*'"
,但这并没有起作用。
我还尝试了
git config --list | grep -oP '(?<=alias\.)\w+'
但没有成功。编辑:
尝试此命令:
(git config -l | grep '^alias\.' | cut -d'=' -f1 | cut -d'.' -f2)
给出了别名列表,但只有别名名称。
我仍然得到相同的错误,所以我猜这里有两件事要解决,一个与git别名列表有关,另一个与zsh有关。
\.
。例如:list-aliases = config --get-regexp '^alias\\.'
。 - Glenn 'devalias' Grant