Question

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
Was it helpful?

Solution

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'"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top