在 git-alias 中引用自己的用户名
Reference own username in git-alias
我想列出所有提交 'since my last commit'。
现在我使用这个日志别名变体:
[user]
name = My Name
[alias]
lg = !git log --since $(git log --pretty=format:'%ct' --author 'My Name' -1)
一般情况下效果很好 - 但我想实际引用我在 .gitconfig 中声明的用户名,而不是对其进行硬编码。
是否可以访问该值? (例如:$(GITCONFIG:User:Name)
)
以防万一:$(whoami)
不起作用,因为用户名不匹配。
您可以从 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 配置文件中的注释标记,因此如果使用分号,我们需要引号。
我想列出所有提交 'since my last commit'。
现在我使用这个日志别名变体:
[user]
name = My Name
[alias]
lg = !git log --since $(git log --pretty=format:'%ct' --author 'My Name' -1)
一般情况下效果很好 - 但我想实际引用我在 .gitconfig 中声明的用户名,而不是对其进行硬编码。
是否可以访问该值? (例如:$(GITCONFIG:User:Name)
)
以防万一:$(whoami)
不起作用,因为用户名不匹配。
您可以从 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 配置文件中的注释标记,因此如果使用分号,我们需要引号。