超有爱的提示符

2010-08-18 20:55:17 +08:00
 jorakura
http://asemanfar.com/Current-Git-Branch-in-Bash-Prompt

把现在所在的branch在bash提示部分里面弄出来。
含多种解决方案
5108 次点击
所在节点    macOS
3 条回复
jorakura
2010-08-18 21:25:27 +08:00
继续往下挖了点发现更有爱的东西

git-completion.bash

这个可以帮助自动完成git的命令行
http://cl.ly/575621a428c4d76dd0ff

而且如果有这个的话,刚才的命令行就可以简单许多
如果用macport可以直接装。
用homebrew装的git的话,在/usr/local/etc/bash_completion.d目录里有脚本。
安装说明写在脚本的注释里。

最终效果:
http://cl.ly/d6e0bf2ec1984bacc7ad
summic
2010-08-18 22:57:45 +08:00
马克
chuangbo
2010-08-18 23:06:14 +08:00
git magic 6.8 小节有提到
> 另一个是在提示符或窗口标题上打印当前分支。调用:
> $ git symbolic-ref HEAD
> 显示当前分支名。在实际应用中,你可能最想去掉“refs/heads/”并忽略错误:
> $ git symbolic-ref HEAD 2> /dev/null | cut -b 12-
> 更多例子参见Git主页(http://git.or.cz/)。
这个适用到PS1中是这样的
{{{
PS1='`a=$?;if [ $a -ne 0 ]; then echo -n -e "\[\e[01;32;41m\]{$a}"; fi`\[\033[01;32m\]\u@\h\[\033[00m\] \[\033[01;34m\]\w`b=$(git symbolic-ref HEAD 2> /dev/null | cut -b 12-); [[ "$b" != "" ]] && echo -n -e "\[\e[33;40m\]($b)\[\033[01;32m\]\[\e[00m\]"`\[\033[01;34m\] $ \[\e[00m\]'
}}}
并且如果上一次命令返回值 $? 不为 0 时会标红

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1830

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX