问题
I'm trying to set up an alias, as I have many.
For some reason, this one does not work. Any idea?
[alias]
t = "!git log --decorate --oneline | egrep '^[0-9a-f]+ \(tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\)].+$/\1/g'"
Command works fine by itself:
$ git log --decorate --oneline | egrep '^[0-9a-f]+ \(tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\)].+$/\1/g'
1.0.0
0.9.0
...
$ git t
fatal: bad config file line 28 in /Users/alanschneider/.gitconfig
回答1:
Backslash ("\
") characters are read by git itself in your config. Just escape them again with a second backslash and it will work:
t = "!git log --decorate --oneline | egrep '^[0-9a-f]+ \\(tag: ' | sed -r 's/^.+tag: ([^ ]+)[,\\)].+$/\\1/g'"
来源:https://stackoverflow.com/questions/13582872/gitconfig-bad-config-for-shell-command