我遇到了 __git_ps1 脚本返回错误分支的问题。
首先,我将检查我的分支:
ssalisbury@DOTWeb ssalisbury (master)$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
然后我将创建并签出一个新分支,并且 __git_ps1 脚本仍然会显示我在原来的分支上:
ssalisbury@DOTWeb ssalisbury (master)$ git checkout -b newBranch
Switched to a new branch 'newBranch'
ssalisbury@DOTWeb ssalisbury (master)$ git branch -a
master
* newBranch
remotes/origin/HEAD -> origin/master
remotes/origin/master
ssalisbury@DOTWeb ssalisbury (master)$
我已经能够确定它显示了同一台机器上的另一个存储库已签出的分支,尽管我不知道为什么。如何确保它显示我所在的存储库的信息?
我的 PS1 如下:
\[\e[1;32m\]\u\[\e[0;33m\]@\h \[\e[1;36m\]\W\[\e[1;33m\]$(__git_ps1 " (%s)")\[\e[1;32m\]\$ \[\e[0m\]
PS1 字符串由登录脚本创建。以下是该脚本中的相关行:
BGreen='\e[1;32m' # Green
Yellow='\e[0;33m' # Yellow
BCyan='\e[1;36m' # Cyan
BYellow='\e[1;33m' # Yellow
BGreen='\e[1;32m' # Green
Color_Off='\e[0m' # Text Reset
export PS1='\['$BGreen'\]\u''\['$Yellow'\]@\h ''\['$BCyan'\]\W''\['$BYellow'\]$(__git_ps1 " (%s)")''\['$BGreen'\]\$ ''\['$Color_Off'\]'