Могу ли я настроить terminal в Ubuntu, чтобы указать, в какой ветке я нахожусь?

#git #ubuntu

#git #ubuntu

Вопрос:

Не был уверен, было ли это для here или для суперпользователя, выбрал here, но при необходимости переместится.

Могу ли я настроить terminal в Ubuntu для отображения имени ветки в репозитории Git? В Git Bash для Windows это происходит автоматически, и такая же функциональность была бы очень удобна в Ubuntu, существует ли она? Есть ли какая-нибудь команда, которую я могу ввести, чтобы включить эту функцию?

Спасибо

Комментарии:

1. Найдите приглашение PS1 bash для git google.com/search ? q = git bash ps1

2. Есть также темы oh-my-zsh, которые включают эту информацию. Это зависит от вашей оболочки и от того, что еще вы хотите увидеть.

Ответ №1:

Я сделал это, добавив следующее в свой файл ~/.bashrc:

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

function proml {
   local BLUE="[33[0;34m]"
   local DEFAULT="[33[0m]" 
   PS1="u@h$BLUE$(parse_git_branch)$DEFAULT-> wn$ "
}
proml
  

Это дает мне следующее приглашение:

 [myusername@mymachinename [branch_name] current_folder]$
  

Хотя я не эксперт в Linux, могут быть лучшие способы сделать это…

Комментарии:

1. Для меня это выглядит хорошо, хотя я и не эксперт в Linux, большое спасибо 🙂

2. Вместо git branch --no-color и редактирования с sed помощью, вы можете попытаться git symbolic-ref -q --short HEAD сохранить один подпроцесс. (Сохраните перенаправление для случая «не в репозитории».) Поскольку вы добавляете скобки, вам все равно могут понадобиться дополнительные настройки, используя статус выхода, чтобы решить, добавлять ли [] .