Git Tips and Tricks: отображение ветки в командной строке не работает и созданные побочные эффекты не работают функции git branch и многие другие - PullRequest
14 голосов
/ 09 февраля 2010

Просто пытаясь расширить свои знания о git и использовать их для подсказок и трюков,

Я обновил свой файл .bashrc, как предложено в Tip PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' , но к моему удивлению, теперь мой gitКоманда ветки не работает, и даже если я удаляю ее из .bashrc, она также не работает для меня.

Также каждый раз, когда я использую командную строку, я получаю -bash: __git_ps1: command not found какие-либо указания или предложения?

Обновление : Я хочу избавиться от этого сейчас, как мне этого добиться?

Ответы [ 5 ]

13 голосов
/ 09 февраля 2010

Включили ли вы функции git bash-extension ? Вы уже можете найти их в своей системе, но они не включены.

Чтобы определить, включены они или нет, введите git Пробел Вкладка - Если вы получаете список файлов, у вас нет завершения, если вы получаете список команд, которые вы делаете (и ваш запрос должен работать).

Обновление: после удаления строки из вашего .bashrc проблемы, с которыми вы столкнулись, должны исчезнуть после перезапуска вашей оболочки. Простое повторное использование файла не поможет, так как оно не отменяет переменную подсказки (и в любом случае эта переменная имела значение до того, как вы ее переопределили).

3 голосов
/ 09 февраля 2010

По поиску "__git_ps1" я нашел первый результат , который говорит:

В дистрибутиве git уже есть функция для этого. Если вы проверите источник есть каталог contrib с файлом завершения bash, который дает вам Функция __git_ps1.

Похоже, вам нужно найти этот contrib / файл и найти его в своем профиле bash!

1 голос
/ 16 мая 2013

Я думаю, что последние версии git отделили функции подсказок из git-creation.bash в отдельный файл prompt.sh ... Мне пришлось добавить строку с исходным кодом в мой профиль bash, чтобы включить этот файл подсказок, и только потом я избавился от жалобы __git_ps1 not found.

1 голос
/ 06 марта 2011

, если вы используете Mac, попробуйте

sudo port selfupdate
sudo port install git-core +bash_completion
then 
cd /private/etc/
sudo vi bashrc
and add the next
source /opt/local/share/doc/git-core/contrib/completion/git-completion.bash
if [ -f /opt/local/etc/bash_completion ]; then
   . /opt/local/etc/bash_completion
fi

export PS1='\w $(__git_ps1 "\[\e[31m\]:%s")\[\e[0m\] > '
0 голосов
/ 08 сентября 2015

Это сработало для меня Просто зайдите в свой профиль bash vi ~ / bash_profile и вставьте это

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

export PS1="\u@\h \[\033[32m\]\w - \$(parse_git_branch)\[\033[00m\] $ "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...