Достаточно коротка статья, достойная одного твитта, но зачем тогда мне блог?
Мщем в файле ~/.bashrc, который отвечает за поведение коммандной оболочки для конкретного пользователя.
"~" - это путь до домашней дириктории текущего пользователя, можете заменить, если хотите удивить своего коллегу (и у вас есть доступ) новым видом терминала, но это под вашу отвественность.
Открываем вашим любимым текстовым редактором (vim ~/.bashrc) этот файл, находим там PS1, который является основным приглашением терминала (то, что видим перед каждой командой). Добавляем функцию, для получения имени ветки. Проверять будем перед каждой командой, но, если мы находимся не git репозитории, то будем получать ошибку. Ветки то нет. Её мы шлём в пустоту /dev/null, используя пренаправление канала ошибок 2>. Сохраняем только найденую ветку.
Подсовываем функцию в приглашение и всё, готово.
parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' }
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;33m\]$(parse_git_branch)\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ ' fi