Я использую это руководство для отображения имени ветки в терминале gnome (Ubuntu 15.10) при работе в репозитории git. Основываясь на приведенном выше, теперь у меня есть следующее в файле ~ / .bashrc:
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
...
# Add git branch if its present to PS1
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;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
В результате я теперь получаю: [!d3 ]
, поэтому оно работает. Но почему была удалена окраска моего пользователя @ host? И я также ожидал, что название ветки должно быть окрашено. Прежде чем это выглядело так:
UPDATE: теперь я попробовал это руководство:
[d15 ] добавив это в .bashrc:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
и работает:
Обратите внимание на .bashrc У меня также есть это (по умолчанию):
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
Мне еще предстоит найти причину, по которой этот фрагмент дает правильный результат, а другая версия - нет. Любой вход на этом?
Вот версия моего .bashrc, у которого включен старый фрагмент, который не работает:
На данный момент я выполнил этот https://gist.github.com/eliotsykes/47516b877f5a4f7cd52f и работал, по-моему, до сих пор, хотя я планирую настроить его дальше.
В терминале [ f1] Скопируйте исходный файл git-prompt.sh из git contrib в каталог ~/.bash: https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh Внутри ~/.bashrc или ~/.bash_profile (выберите файл, в который вы обычно помещаете настройки / настройки bash), добавьте строки:source ~/.bash/git-prompt.sh # Show git branch name at command prompt
export GIT_PS1_SHOWCOLORHINTS=true # Option for git-prompt.sh to show branch name in color
# Terminal Prompt:
# Include git branch, use PROMPT_COMMAND (not PS1) to get color output (see git-prompt.sh for more)
export PROMPT_COMMAND='__git_ps1 "\w" "\n\\\$ "' # Git branch (relies on git-prompt.sh)
Пока вы находитесь внутри репозитория git, ваша подсказка Bash теперь должна отображать текущую ветку git в цвете, обозначающую, если его получили незафиксированные изменения. Ubuntu: Show your branch name on your terminal
Добавьте эти строки в файл ~ / .bashrc
# Show git branch name
force_color_prompt=yes
color_prompt=yes
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;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
Моя проблема заключалась в том, что я не включил опцию
Запустить команду в качестве оболочки входа в
Терминал → Изменить → Настройки профиля → Команда
замените
parse_git_branch
на
parse_git_branch 2>/dev/null
в вашем определении PS1 и живите долго и счастливо.