我想列出自上次提交以来的所有提交#。
现在我使用这个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)
不起作用,因为用户名不匹配。
答案 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配置文件中的注释标记,因此如果使用分号,我们需要引号。