2

我想列出“自我上次提交以来”的所有提交。

现在我使用这个日志别名变体:

[user]
    name = My Name
[alias]
    lg = !git log --since $(git log --pretty=format:'%ct' --author 'My Name' -1)

一般来说,这很好用——但我想实际引用我在 .gitconfig 中声明的用户名,而不是对其进行硬编码。

是否可以访问该值?(例如$(GITCONFIG:User:Name):)

以防万一:$(whoami)不起作用,因为用户名不匹配。

4

1 回答 1

3

你可以从你的 Git 配置中提取你的名字:

me=$(git config --get user.name)

例如。一旦你在一个变量中,你可以引用该变量。(如果你只需要它一次可以嵌套$(...)构造,这看起来很聪明,但以后可能很难调试:-))

因此:

[alias]
    lg = "!me=$(git config --get user.name); \
      git log --since $(git log --pretty=format:'%ct' --author \"$me\" -1)"

(这里不需要反斜杠换行缩进序列,但如果你喜欢它可以使用它:Git 允许使用反斜杠换行符的多行别名)。注意:分号是 Git 配置文件中的注释标记,所以如果使用分号,我们需要引号。

于 2017-05-19T11:45:25.707 回答