Добавить текущую ветку git в терминал

Как я могу настроить терминал для отображения текущей ветви git?

Я хотел бы видеть вторую строку, а не первую:

andy@bob:~/my_projects/project_x$ 
(master)~/my_projects/project_x$

Я не хочу бежать git status чтобы увидеть, на какой ветке я сейчас нахожусь!

4 ответа

Решение

Вы можете добавить следующий код для вас .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) $ "

Вы можете перемещаться по этим компонентам для настройки на свой вкус, например, для предварительного $(parse_git_branch) и не показывать часть user@computer, которую я использовал:

PS1="\$(parse_git_branch)${debian_chroot:+($debian_chroot)}\w$ "

Который отображает:

(master)~/my_projects/project_x$ 

Смотрите также: Что делает эта переменная PS1 в файле.bash_profile?

Добавьте этот лайнер к .bashrc:

export PS1='\u@\h \W$(__git_ps1 " [ - %s - ]") \$ '

Это добавит цвет к названию ветки в терминале

git_branch() {
   git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[1;31m\]'"\$(git_branch)\[\033[00m\]$ "

Вы также можете добавить следующую строку в ваш.bashrc:

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\`__git_ps1`\$ '
Другие вопросы по тегам