On Thu, Aug 24, 2023 at 10:19:18AM +0000, Reverdell Auriane wrote: > 14:38:45.275964 git.c:439 trace: built-in: git diff a2028e7b^..a2028e7b a2028e7b > [...] > Is that expected behavior? if yes, how is the right/clean way to > discard the command line argument of the alias? Yes, that's expected. Your alias was always a little broken by adding the extra argument, but "git diff" got a little more careful about its input in 8bfcb3a690 (git diff: improve range handling, 2020-06-12), which as part of v2.28. The usual way for manipulating arguments in a shell snippet is to make a function, like: [alias] dici = "!f() { git diff ${1:-HEAD}^..${1:-HEAD}; }; f" Then Git ends up running "f a2028e7b", and the shell does the rest. It's obviously a bit more verbose to write, but you're free to do even more manipulation (e.g., using the first non-option argument as the rev and taking the rest as options). All that said, there is a shorthand that may make your alias obsolete. >From "git help revisions": <rev>^-<n>, e.g. HEAD^-, HEAD^-2 Equivalent to <rev>^<n>..<rev>, with <n> = 1 if not given. So just: git diff a2028e7b^- does what you want. -Peff