Git 别名日志在日期后更改

Git alias log changing after date

我有一个要与 code-maat 一起使用的别名,但不知道如何操作,当我 运行 别名时,我可以在哪里添加后面的内容。这可能吗?例如,这里是我想要的别名:

alias gmaat = 'git log --pretty=format:"[%h] %an %ad %s" --date=short --numstat --after=YYYY-MM-DD'

所以我需要做的是当我 运行 gmaat 别名时,系统会提示我添加 --after date 或者 运行

gmaat YYYY-MM-DD // filling in the date

如果可能的话,我在此先感谢您提供的帮助。

编辑

我通过添加以下内容尝试了下面的第一个答案:

alias gmaat='!f() { git log --pretty=format:"[%h] %an %ad %s" --date=short --numstat --after= }; f'

当我 运行 这个并在别名后面添加日期时,我得到这个错误:

fatal: ambiguous argument '2014-11-01': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

您可以使用 positional parameter:

git config alias.gmaat '!f() { git log --pretty=format:"[%h] %an %ad %s" --date=short --numstat --after=; }; f'

注意{ xxx; }

里面的';'

这样,您可以将 YYYY-MM-DD 作为参数传递

git gmaat YYYY-MM-DD // filling in the date

如果不使用 git config alias,您将需要 to define in your ~/.bashrc_profile a function:

gmaatf() { git log --pretty=format:"[%h] %an %ad %s" --date=short --numstat --after= }

然后:

 alias gmaat=gmaatf