Zainspirowany kombajnem wyżej @lsikora: wziąłem coś dla siebie. Co mi najczęściej robi pod górkę? Pomyłki w którym branch siedzę.
Dla zwykłego bash mikro dodatek do prompt'a
poszukanie gdzie definiowany jest prompt (znalazł w pliku .bash_profile)
$ cd ~ && grep "PS1=" .* 2>/dev/null
zwraca
.bash_profile:export PS1="\W $ "
przed definicją prompt
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
i zamiana prompt z/na
export PS1="\u@\h \W $ "
export PS1="\u@\h \W\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
Albo od razu mini-prompt, tylko bieżący katalog
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\W\[\033[32m\]\$(parse_git_branch)\[\033[00m\] $ "
Przeładowanie bash
source ~/.bash_profile
Ot teraz wejścia w jakiś folder zainicjowany jako git repo spowoduje uzupełnienie prompt o info o aktualnym git branch
Po wyjściu z folderu git-repo niepotrzebne info o branch nie jest wyświetlane
~ $ cd project/
project (master) $
Mała rzecz, został ten sam stary dobry bash, a od dziś mnie cieszy