可以显示git状态的shell prompt

[更新:2009/11/05] 增加了一个小功能,如果本地分支有未推送到对应远端分支的内容,会有提示。

最近看了一些和shell prompt 有关的文章,把自己的shell prompt调整了一下。

在一般目录里就是这样:
Prompt1
分别显示用户名@主机、时间和当前目录。

如果当前目录刚好是一个git repository,就是这样:
Prompt2
后面会多出当前的git branch的名字。

如果当前git repository有还没提交的内容,git branch名就是红色的:
Prompt3

这是我使用的prompt文件,可以把它的内容加在.bash_profile或者source引用到环境脚本里。

. prompt.sh

适用环境为Mac OS X 10.5的Terminal+bash。

相关文章:
Tip: Prompt Magic
bashish
add the current git branch to your prompt

8 thoughts on “可以显示git状态的shell prompt

  • 不错不错。我根据你的版本自己改了改,搞出了个自己的版本。

    补齐 prompt bar 长度的 LINE 还是替换成每次自动计算的吧,否则 Term 的窗口最大化以后,列数变多,行尾补齐的 – 就少掉了,这样就不太好看了:)

  • 真棒!喜欢这个$PS1。原本我把git的branch显示在原来的$PS1后面的。我是学的ongoing同学的米色背景,和@jason与@robinlu同学这个肉色比要亮一些。

  • 出现这样的error?!

    expr: syntax error
    -bash: test: -gt: unary operator expected

    我是OSX 10.5.6

  • 最后我改成这样了:-_-

    export PS1=’┌────[\u@\h]─────[\t]─────[\W]─────$(parse_git_branch)────────────

Comments are closed.