OSX上的Bash __git_ps1换行问题

时间:2015-07-22 11:35:44

标签: git macos bash

我已找到git-prompt.sh(已从https://github.com/git/git/tree/master/contrib/completion复制)并将其包含在.bashrc中,如下所示:

GIT_PS1_SHOWDIRTYSTATE=true;
GIT_PS1_SHOWUPSTREAM="verbose";
GIT_PS1_SHOWCOLORHINTS=true;

PROMPT_COMMAND='__git_ps1 "# \u@\h:\w" " \$ "';

在CentOS等下,这个工作正常。但是,在OSX上,当处理导致换行的嵌套文件夹结构时,您键入的位的格式化将按照以下方式进行操作:

Image showing formatting issue

__git_ps1生成的代码是:

# \u@\h:\w (\[\e[32m\]${__git_ps1_branch_name}\[\e[0m\] \[\e[31m\]*\[\e[0m\] u=) $

有没有人经历过这个和/或可以提出解决方案?

如果我注释掉它的GIT_PS1_SHOWCOLORHINTS指令,虽然没有颜色突出显示,所以我猜测某些地方的控制序列有些不妥。

1 个答案:

答案 0 :(得分:1)

我最终对此进行了排序,但必须切换到bash的更新版本才能执行此操作:

brew install bash
sudo vi /etc/shells
chsh -s /usr/local/bin/bash