在终端中显示git用户名的Bash脚本
有人知道如何在终端中显示git用户名吗 我正在为分支使用下面的bash脚本,但是,由于我有几个帐户,我也想显示在终端中显示git用户名的Bash脚本,bash,git,gist,Bash,Git,Gist,有人知道如何在终端中显示git用户名吗 我正在为分支使用下面的bash脚本,但是,由于我有几个帐户,我也想显示username或user email 顺便说一句,我知道我可以使用git config--global--list。这样做的目的是在终端中查看信息,而不必每次都进行检查,就像分支 parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/' } export P
username
或user email
顺便说一句,我知道我可以使用git config--global--list。这样做的目的是在终端中查看信息,而不必每次都进行检查,就像分支
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \W\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
您可以使用
git config--get
来获取单个配置值,比如用户名。然后,您可以将其包装到函数中:
parse_git_user(){
git config--获取user.email
}
然后您可以将其以任何格式合并到提示符(PS1
)中。例如:
export PS1=“\u@\h\W\[\033[32m\]\$(parse\u git\u分支机构)\[\033[00m\]($(parse\u git\u用户))$”
#这里-----------------------------------------------------------^
我怀疑您想确保为您的每个项目找到正确的用户。电子邮件
?@Mureinik雄辩地回答了这个问题,但我认为这可能有助于您或其他人进行搜索
我建议您根据远程url设置user.name
,而不是在提示符中显示它。这样它就可以正常工作了™.
它的工作原理是每次您切换到目录时都使用zsh钩子
autoload -Uz add-zsh-hook
set-git-email() {
if [ -d .git ]; then
remote=`git remote -v | awk '/\(push\)$/ {print $2}'`
if [[ $remote == git@git.server.com:* ]]; then
git config user.email user@email.com
fi
fi
}
add-zsh-hook chpwd set-git-email
set-git-email
请注意,通常情况下,交互式shell配置(与脚本开发相反)在我们的姐妹站点更受欢迎。