在gitconfig文件中转义别名命令

9
我正在尝试将别名命令添加到我的gitconfig文件中,但它报告了“坏的配置文件”错误,指向我添加的行。我怀疑与sed命令和一些转义问题有关,但我不确定应该是什么。以下是该命令,为了易读性添加了换行符:
impact = !git ls-files -z
       | xargs -0n1 git blame -w -C
       | sed -r 's/^[^(]+\((.*) [0-9]{4}-.*/\1/'
       | sed -r 's/ +$//'
       | sort -f
       | uniq -c
       | sort -nr

为什么不把那段代码放到一个shell脚本里呢? - daniel kullmann
是的,我考虑过这个问题,但是用 git impact 来调用会更加简洁。我想我可以将其放入一个 shell 脚本中,并为该脚本添加别名... - nickf
@nickf,我确认你的别名可以正常工作(无需任何shell脚本包装)。 - VonC
1
如果你放置了一个名为 git-impact 的脚本,当你执行 git impact 时,git 将会调用它。 - corvus_192
1个回答

14

我怀疑问题在于'\',需要加倍。

我使用'\\'尝试了您的别名,没有任何错误信息。

impact = !git ls-files -z
       | xargs -0n1 git blame -w -C
       | sed -r 's/^[^(]+\\((.*) [0-9]{4}-.*/\\1/'
       | sed -r 's/ +$//'
       | sort -f
       | uniq -c
       | sort -nr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接