У меня есть настройка скрипта git-prompt.sh
в моем файле .bashrc
, которая дает мне полезную информацию о git в моем приглашении. Это отлично подходит для небольших репо, но когда я cd
захожу в большое репо, ответ на приглашение может занять более 30 секунд, так как он должен сначала просмотреть git репо.
Можно настроить мой .bashrc
так, чтобы я мог либо внести в белый список свои маленькие репозитории для отображения приглашения git, либо внести в черный список мои большие репозитории, чтобы он не загружал приглашение git?
В качестве альтернативы я был бы счастлив с флагом / переменной, которые я должен установить, чтобы включить приглашение git.
Соответствующая часть моего .bashrc
выглядит так:
##
# Git prompt options
##
source ~/.git-prompt.sh
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWUPSTREAM="auto"
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1 " (\[\033[01;33m\]%s\[\033[00m\])")\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(__git_ps1 " (\[\033[01;33m\]%s\[\033[00m\])")\$ '
fi
unset color_prompt force_color_prompt
Посмотрите на код - реальная работа выполняется в функции __git_ps1
, которая вызывается из подсказки.
Замените эту функцию своей собственной функцией, например,
# this is only a outline of possible code
function myFancyGitPS1() {
case $(pwd) in
*/someDir/*)
specialHandling
;;
*)
__git_ps1 " (\[\033[01;33m\]%s\[\033[00m\])"
;;
esac
}