Git — Текущая Ветка в Приглашении Командной Строки

Во время работы с Git-репозиторием важно всегда понимать в какой ветке вы находитесь и где вносите изменения.

Вы можете облегчить себе эту задачу, если имя текущей Git-ветки будет автоматически отображаться в приглашении командной строки.

Это легко можно сделать практически в любом Linux дистрибутиве, включая Ubuntu и CentOS, настроив основную строку приглашения, которая управляется специальной консольной переменной PS1.

Дельный Совет: Подзабыли значение какого-то термина в Git? Не беда! Просто прочитайте и добавьте в закладки эту статью! Эта статья →

Показать Текущую Git-ветку в Терминале

Чтобы отобразить текущие настройки приглашения командной строки, выполните:

$ echo $PS1

Пример вывода:

[\u@\h \W]$

С помощью любимого текстового редактора откройте файл ~/.bashrc и добавьте следующие строки:

git_branch() {
  git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

export PS1="[\u@\h \W]\$(git_branch)\$ "

Таким образом мы определяем функцию git_branch(), которая будет выводить имя текущей Git-ветки в круглых скобках.

А также настраиваем переменную PS1 и добавляем в нее функцию git_branch(), чтобы отображать имя текущий Git-ветки в приглашении командной строки.

Функция git_branch() в переменной PS1 обязательно должна быть в формате \$(git_branch).

Подгрузите ~/.bashrc, чтобы подтянуть новые переменные окружения не завершая текущую сессию:

$ source ~/.bashrc

Отныне, как только вы зайдете в директорию, которая контролируется с помощью Git, в начале командной строки вы увидите название текущей Git-ветки:

[user@host ~]$ cd project/
[user@host project](master)$ git branch
* master

Чтобы улучшить внешний вид командной строки вы можете задать цвет отображения имени Git-ветки, обернув \$(git_branch) в управляющие символы таблицы ANSI, например \033[00;32m\]\$(git_branch)\[\033[00m\] (зеленый цвет текста, нормальный шрифт):

export PS1="[\u@\h \W]\[\033[00;32m\]\$(git_branch)\[\033[00m\]\$ "

Дельный Совет: Выберите лучшие ЦВЕТА и стили для приглашения командной строки в терминале! Читать далее →

Теперь приглашение командной строки в терминале выглядит не только информативно, но и довольно-таки симпатично:

[user@host ~]$ cd project/
[user@host project](master)$ git branch
* master

11 Replies to “Git — Текущая Ветка в Приглашении Командной Строки”

  1. zsh с дополнением https://github.com/robbyrussell/oh-my-zsh/ (Oh-My-Zsh) подойдёт ещё лучше 😉

  2. HI Sorry to ask you this basic question. I don’t understand the line below
    Open the ~/.bashrc file with your favorite text editor and add the following lines:
    How do you do that? Could you possibly tell me exactly what to do?

    1. A little late to the party, but you could open the folder by writing the following command in the terminal: «open ~/.bashrc». I don’t think it should be any different between Mac and Linux at least.

  3. you probably have some editor like vim, try this:

    $ vim ~/.bashrc 
    

    to edit:
    press i
    when you’re done editing:
    press ESC + wq (to save)
    or
    press ESC + exit (to quit without saving)

  4. Thanks. Really helpfull.

  5. It’s works perfectly, thanks.

  6. Nice. I had copied and inserted other snippets but wanted to understand what was going on. Thanks.

  7. the normal changes told above work just fine . but when i pasted the coloured version code stated below in the article, it started showing the status in color but it also resulted in tabbed typing . ie. every letter i type is displayed as if there were tabs in between like g. i. t. and so on. the command works just fine . can anyone help.

Добавить комментарий