2017-01-11 3 views
1

Командная строка в Git Bash отображает текущее имя ветки (с другой информацией, такой как имя каталога и т. Д.), Как показано ниже.git-bash: показать адрес электронной почты в командной строке командной строки Git Bash

[email protected] MINGW64 ~/path/to/my/repo (master) 
$ 

Как включить адрес электронной почты репо с именем филиала? Электронная почта - это user.email репо; который можно найти, используя команду git config user.email.

Я хотел бы иметь это значение git config user.email в командной строке вместе с именем ветки, как указано ниже.

[email protected] MINGW64 ~/path/to/my/repo (master|[email protected]) 
$ 

Обратите внимание: у меня есть система окон.

+1

Применить результат 'мерзавца конфигурации user.email' файл' переменной PS1' среды, чтобы получить email и 'git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\ n'', чтобы получить текущую ветвь. –

+0

Возможно, вам будет интересно: http://stackoverflow.com/questions/4133904/ps1-line-with-git-current-branch-and-colors –

ответ

1

Хорошо ... Подход MinGW немного отличается от «обычного» подхода bash, потому что он имеет очень богатый скрипт для генерации переменной Bash PS1. Вы просто должны в следующем (если вы используете 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 
+0

Спасибо, Любомир. Это сработало. Я мог видеть как ветку, так и электронную почту в моей командной строке git bash. – Vijey

+0

@Vijey, пожалуйста! –

Смежные вопросы