git-bash:在Git Bash命令提示变量中显示电子邮件

时间:2017-01-11 08:47:58

标签: git-bash

Git Bash中的命令提示符显示当前分支名称(以及其他信息,如目录名称等),如下所示。

mylogin@SYSNAME MINGW64 ~/path/to/my/repo (master)
$

如何将回购用户个人资料电子邮件与分支名称一起包含?电子邮件是回购的user.email;可以使用命令git config user.email找到它。

我希望在命令提示符中使用此值git config user.email以及下面给出的分支名称。

mylogin@SYSNAME MINGW64 ~/path/to/my/repo (master|myemail@github.com)
$

请注意我有一个Windows系统。

1 个答案:

答案 0 :(得分:1)

嗯...... MinGW方法与“通常”bash方法略有不同,因为它有一个非常丰富的脚本来生成PS1 Bash变量。您只需要执行以下操作(假设您也使用64位):

  • 找到/mingw64/share/git/completion/git-prompt.sh或(%YOUR_GIT_LOCATION%\mingw64\share\git\completion\git-prompt.sh);
  • 修改gitstring环境变量:
    替换local gitstring="$c$b${f:+$z$f}$r$p"
    local gitstring="$c$b${f:+$z$f}$r$p|$(git config user.email)"

我的原始版本与我的user.email设置版本之间的差异:

diff --git a/git-prompt.sh.BAK b/git-prompt.sh
index 07b52be..2d63680 100644
--- a/git-prompt.sh.BAK
+++ b/git-prompt.sh
@@ -515,7 +515,7 @@ __git_ps1 ()
        fi

        local f="$w$i$s$u"
-       local gitstring="$c$b${f:+$z$f}$r$p"
+       local gitstring="$c$b${f:+$z$f}$r$p|$(git config user.email)"

        if [ $pcmode = yes ]; then
                if [ "${__git_printf_supports_v-}" != yes ]; then