Прикладная дебианавтикаhttp://uptimebox.ru/2009-09-10T10:47:00Zзаписки об opensource, debian, python, провинциальных провайдерах и о жизни посреди всего этогоТекущая ветка Git в строке запроса bash2009-09-10T10:47:00Zuptimeboxtag:blogger.com,1999:blog-24583041.post-3007673053232881489<p>
Очень коротко. Нужно в строке запроса bash видеть текущую ветку. Должно выглядеть примерно так:
</p>
<p style="font-family: monospace; background-color: black; color: white; padding-left: 1em;">
user@hostname:~/projects/repository(branch)$<br>
</p>
<p>Если текущая директория не находится внутри репозитария git, информация о ветке не выводится, строка запроса выглядит так же, как по умолчанию в Debian.</p>
<p>В ~/.bashrc или любое другое подходящее место добавить:</p>
<code><pre>function parse_git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "("${ref#refs/heads/}")"
}
PS1="\u@\h\:\w\$(parse_git_branch)\$ "
</pre></code>
<p>Версия с цветовым выделением:</p>
<code><pre>function parse_git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return
echo "("${ref#refs/heads/}")"
}
PS1="\[\033[00;32m\]\u@\h\[\033[00m\]:\[\033[00;34m\]\w\[\033[00;31m\]\$(parse_git_branch)\[\033[00m\]\$ "
</pre></code>
<p>Выглядеть будет примерно так:</p>
<p style="font-family: monospace; background-color: black; color: white; padding-left: 1em;">
<span style="color: green;">user@hostname</span>:<span style="color: blue;">~/projects/repository</span><span style="color: red;">(branch)</span>$<br>
</p>
<p>Подсмотрено <a href="http://railstips.org/2009/2/2/bedazzle-your-bash-prompt-with-git-info">здесь</a> и <a href="http://skwpspace.com/2008/05/01/more-git-tips-and-tricks/">здесь</a>.</p>