我有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
答案1
看一下代码 - 真正的工作是在函数中完成的__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
}