Как я могу изменить приглашение UNIX для отображения имени текущей ветви?

Я хочу изменить приглашение командной строки, чтобы оно отображало название текущей ветви. Есть ли простой способ сделать это?

(Для информации я использую Bash на Mac OS X.)

2 ответа

Решение

Нет необходимости в стороннем инструменте: Git уже предоставляет скрипт оболочки для добавления текущего имени ветки (если оно есть) в приглашение вашей оболочки; это совместимо с обоими bash а также zsh,

Просто скачайте этот скрипт и следуйте инструкциям по установке:

  1. Скопируйте этот файл куда-нибудь (например, ~/.git-prompt.sh).
  2. Добавьте следующую строку в ваш .bashrc/.zshrc:

    source ~/.git-prompt.sh
    
  3. Измените свой PS1, чтобы позвонить __git_ps1 как команда-подстановка:

    • Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
    • ЗШ: setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '

    необязательный аргумент будет использоваться в качестве строки формата.

Вы можете предпочесть более легкое приглашение, чем данное; например, я установил мой

export PS1='\W$(__git_ps1 "(%s)")\$ '

вместо.

Наконец, перезапустите Терминал (или источник ~/.bash_profile, так как вы используете bash) и тебе хорошо идти

введите описание изображения здесь

Вы можете использовать BashIt, который представляет собой набор полезных вещей (включая отображение ветвлений в git), как показано ниже:

Другие вопросы по тегам