.gitconfig文件中的Git别名错误

时间:2011-07-27 11:31:44

标签: git alias

我一直在使用这个别名:

aliases = !git config --get-regexp 'alias.*' | colrm 1 6 | sed 's/[ ]/ = /'

显示配置文件中的所有别名。

但它很乱 - 我想在“=”符号之前为别名添加一种颜色。 所以我添加了一些颜色:

aliases = !git config --get-regexp 'alias.*' | colrm 1 6 | sed 's/[ ]/ = /' | awk '{printf "\033[1;31m" $1 "\033[0m"; $1=""; print $0;}'

当我使用CLI中的命令时,它工作得很好,但是当我尝试将它放在.gitconfig文件中时,它会抛出错误。与引号有关。 我试图逃避他们,但无济于事......

如何让别名起作用?

2 个答案:

答案 0 :(得分:2)

似乎有一些引用问题。我建议使用专用的shell脚本,因为引用使它非常难以理解。使用较少的单独流程:

GIT-颜色别名

#!/bin/sh
git config --get-regexp 'alias.*' | awk '{printf "\033[1;31m%s\033[0m = ", substr($1,7); $1=""; print $0}'

的.gitconfig

aliases = color-aliases

答案 1 :(得分:2)

我尝试了一下,只需引用整个字符串就可以了:

alias2 = !"git config --get-regexp 'alias.*' | colrm 1 6 | sed 's/[ ]/ = /'"

您可以通过使用以下跟踪调试配置有很大的帮助:

GIT_TRACE=1 git alias2