仅在源时提示更新git分支

时间:2017-03-24 14:41:39

标签: git bash ubuntu

我尝试在我的提示中集成当前的git分支,但它没有按预期运行。我在ubuntu 16.04和git 2.7.4上使用bash。 当我启动终端时,没有显示任何git。如果我从存储库中获取.bashrc,则会显示分支,但不再更新。这是我在.bashrc中写的:

green="\[\033[01;32m\]"
blue="\[\033[01;34m\]"
no_color="\[\033[00m\]"
purple="\[\033[01;35m\]"

source /etc/bash_completion.d/git-prompt
export PS1="$purple\u $green$(__git_ps1 "(%s)") $blue\W $no_color \$ "

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案。没有必要使用prompt命令。该错误是由语法错误引起的。

如果我使用""分配PS1的内容以使用我的变量作为颜色,它只会在.bashrc来源时执行__git_ps1函数。

但是,当我在''内分配PS1内容并且没有颜色变量并且将代码写出来时,它会按预期工作。当我阅读here时,似乎更好的做法是不将PS1导出到环境中。

所以解决方案如下:

PS1='\[\033[01;35m\]\u \[\033[01;32m\]$(__git_ps1 " (%s)") \[\033[01;34m\]\W \[\033[00m\] \$ '

然而,我很想知道,原因是什么。它适用于macOS中的""