我有一个带有CentOS系统的VPS。系统在正常时间内具有高负载。
我有一个非常大的Git目录(接近800 MB)。当我在目录中键入命令cd
时,shell需要很长时间才能响应。
当我向Git目录输入cd
时会发生什么?我该怎么做才能优化输入时间?
在此处添加我的Bash个人资料:
这是我的.bash_profile
文件:
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit (working directory clean)" ]] && echo "*"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/[\1$(parse_git_dirty)]/"
}
export PS1='\u@\h:\w\[\e[1;36m\]$(parse_git_branch)\[\e[0m\]$ '
答案 0 :(得分:4)
检查你是否有一个可能需要花费太多时间才能显示的git PS1提示(因为git status
in a large repo can be costly)
See this gist,这有助于在执行 Ctrl + C 时禁用提示:
(摘录)
local this_git_status=""
if [ -z "${_skip_git_ps1}" ]; then
this_git_status=$(__git_ps1 "(%s)")
case $? in
0 ) : ;;
130 ) git_ps1_disable;; # If we break that last command because it's too slow, stop trying it
esac
fi
export PS1=": \u@\h \w${this_git_status}; "