0

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

1 回答 1

1

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

该问题已通过删除该别名得到解决。

于 2015-06-04T16:44:00.357 回答