From: Junio C Hamano Date: Thu, 31 Oct 2013 03:54:42 GMT Subject: Re: Help creating git alias Message-ID: In-Reply-To: Eugene Sajine writes: > That was my initial intention, because I would like to be able to pass > parameters like to git log or git blame correctly without the explicit > use of $1. Could you please advise about how to make it work with the > !sh -c ? > > Because the same exact (sed 's/@\\S*//') syntax didn't work with "sh -c". You can make it work if you think step-by-step. First, this is what you want to run: sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' - so that "git euguess master..next" would turn into sh -c 'git log --format="..." "$@" | sed "s/@\S*//"' - master..next Now, you want to wrap it into an alias, i.e. [alias] euguess = "!sh -c ..." That ... part is read by our configuration reader, so you need to quote the double quotes and backslashes with backslash, which would give you something like: [alias] euguess = "!sh -c 'git log --format=\"%h %ae %s\" --date=short \"$@\" | sed \"s/@\\S*//\"' -"