Git → Текущая ветка в командной строке

Объяснял и показывал сабж уже четырём человекам, по меньшей мере, поэтому сделаю запись и буду скидывать ссылку. Хотя таких записей в интернете уже пруд пруди на всех языках :)

git prompt

Делается всё просто. Для начала скачаем из репозитория файл /contrib/completion/git-prompt.sh. Я скачиваю файл, соответствующий моей версии гита, т.е. 1.9.1 для Ubuntu 14.04, на всякий случай.

1
wget https://raw.githubusercontent.com/git/git/cee0c2750bb5f1b38f15ef961517e03c2e39c9ec/contrib/completion/git-prompt.sh

Далее ищем в .bashrc установку строки приветствия PS1, добавляем перед ней выполнение скрипта git-prompt.sh и вставляем в PS1 функцию __git_ps1. Должно получится что-то подобное (на примере Ubuntu):

1
2
3
4
5
6
7
. ~/git-prompt.sh

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[35m\]$(__git_ps1 " git:(%s)")\n\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(__git_ps1 " (%s)")\$ '
fi

Этот же фокус на гитхабе для убунты и макоса. В качестве бонуса можно ещё добавить в .bashrc скрипт /contrib/completion/completion.bash и появится автодополнение команд git-а по табу.

P.S.: Файл .bashrc имеется в виду тот, который лежит в домашней директории, т.е. ~/.bashrc (или, в более развёрнутом варианте, /home/username/.bashrc)

Комментарии

avatar
chepurnoi
avatar
То что нужно! Спасибо!
ответить
avatar
morontt
avatar
На здоровье :)
ответить
avatar
svintuskbd
avatar
Огонь, спасибо!
ответить
avatar
morontt
avatar
Не за что. Если будут читатели, то появятся и новые статьи. Или наоборот, появятся статьи - за ними придут и читатели из поисковиков.
ответить
avatar
svintuskbd
avatar
я тут всем своим ученикам твой блог вручил как памятку для будущего развития)
ответить
avatar
Mr.Lelik
avatar
Спасибо забрал себе))))
ответить
avatar
morontt
avatar
На здоровье :)
ответить
7 комментариев Написать что-нибудь
Или войдите, чтобы не заполнять форму:
Адрес электронной почты нигде не отображается, необходим только для обратной связи.
Напрограммировано на Go 1.23.2, версия движка 7738e0f