__git_ps1显示错误的分支

时间:2015-06-04 16:24:25

标签: git shell centos ps1

我遇到了__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'\]'

1 个答案:

答案 0 :(得分:1)

问题是我有别名test将目录更改为另一个存储库。我忘记了test是命令行实用程序而__git_ps1使用它。当__git_ps1尝试使用test时,它将目录更改为另一个存储库。

通过删除别名来解决问题。