input“cd”命令到linux git目录时发生了什么?

我有一个与centOS系统的VPS。 系统在正常情况下具有较高的负载。

我有一个非常大(近800M)的git目录,当我input命令cd到目录时,shell需要很长的时间来响应。

所以我的问题是,当我inputcd到git direcoty时发生了什么? 我能做些什么来优化进入时间?

在这里添加我的bashconfiguration文件:

这是我的.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\]$ ' 

检查你是否有一个可能需要太多时间才能显示的git PS1提示符(因为大型回购中的git status可能很昂贵 )

例如, 看到这个要点 ,这有助于在执行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}; "