在git-alias中引用自己的用户名

时间:2017-05-19 11:37:10

标签: git git-config git-alias

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

现在我使用这个log-alias变体:

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

一般情况下工作正常 - 但我想实际引用.gitconfig中所述的用户名而不是硬编码。

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

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

1 个答案:

答案 0 :(得分:1)

您可以从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配置文件中的注释标记,因此如果使用分号,我们需要引号。