Отображение текущего имени ветки в терминале Ubuntu

Я выполнил шаги, приведенные в принятом ответе на этот вопрос - Prepend текущая ветка git в терминале . Но даже после добавления следующего кода в .bashrc и перезагрузки ноутбука, я не вижу название ветви в терминале. Я что-то пропустил? Нужно ли как-то указывать в коде название корневой папки репо?

parse_git_branch() {
 git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$(parse_git_branch) $"
0
задан 13 April 2017 в 15:24

1 ответ

git branch сообщит, только если текущий рабочий каталог является репозиторием, который Вы хотите отследить.

Например:

$> pwd
/home/xieerqi
$> git branch
fatal: Not a git repository (or any of the parent directories): .git
$> cd sergrep
$> git branch
* master

Вы хотите добавить a cd звоните в ту функцию, которая перейдет к тому каталогу. Еще лучше поместите скобки вокруг той команды, так, чтобы команда была выполнена в подоболочке, таким образом, Ваш текущий рабочий каталог не затронут. Для меня функция может быть записана как так:

parse_git_branch(){
  # navigate in sub shell to my git repository
  # and execute git branch
  ( cd /home/xieerqi/sergrep; git branch 2> /dev/null | \
   sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' )
}

И вот то, как это работает в действии:

DIR:/xieerqi|14:24|skolodya@ubuntu:
$ source ~/.mkshrc                                                             
DIR:/xieerqi|14:24|skolodya@ubuntu:
$ PS1="$(parse_git_branch)$PS1"                                                
(master)DIR:/xieerqi|14:24|skolodya@ubuntu:
$ echo HELLO ASKUBUNTU
HELLO ASKUBUNTU
(master)DIR:/xieerqi|14:24|skolodya@ubuntu:
$ 
(master)DIR:/xieerqi|14:24|skolodya@ubuntu:
$ typeset -f parse_git_branch
parse_git_branch() {
    ( cd /home/xieerqi/sergrep 
      git branch 2>/dev/null | sed -e "/^[^*]/d" -e "s/* \\(.*\\)/(\\1)/" ) 
} 
0
ответ дан 14 April 2017 в 01:24
  • 1
    Большинство тех вещей I don' t даже знают. Хорошо, это - ноутбук бренда Цлево, UEFI, поршень на 16 ГБ, 2 палки, я думаю, i7 5-й процессор генерала, не знают, как загрузиться в чрезвычайном режиме – fff 7 October 2017 в 12:53

Другие вопросы по тегам:

Похожие вопросы: