【发布时间】:2011-03-21 15:40:15
【问题描述】:
我是 git 新手,我正在尝试将当前的 git 分支添加到我已经存在的提示符中,其定义如下:
RESET="\[\017\]"
NORMAL="\[\033[0m\]"
RED="\[\033[31;1m\]"
YELLOW="\[\033[33;1m\]"
WHITE="\[\033[37;1m\]"
SMILEY="${WHITE}:)${NORMAL}"
FROWNY="${RED}:(${NORMAL}"
SELECT="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi"
export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w $(__git_ps1) >${NORMAL} "
我试过了(通过再次获取我的.bashrc 文件),它似乎工作,但后来我去了另一个分支,它没有更新。如何确保$(__git_ps1) 未被缓存?
【问题讨论】:
-
我喜欢在提示符中添加
:)和:(的想法,具体取决于最后一个命令是否失败 :) -
@Mark Longair:我在这里找到它:serverfault.com/questions/4889/… BTW,你为什么要删除你的解决方案,它也有效!
-
它比其他两个晚了几分钟,而且不如@geekosaur 整洁
-
非常感谢您提出这个确切的问题(当然,也感谢 geekosaur 的回答)!我一直在四处寻找 HOURS 试图弄清楚为什么我的提示只是在我获取 .bashrc 文件时更新它的 git 状态行。