Bash 显示 Git 分支

虽然一直都在用git,但是并没有注意到还有这个方便的用法

于是乎赶快学习一下 :-)

上网查了一下资料,都说Ubuntu下如何如何方便,其他的发行版需要先下载一个文件,然后添加source,再如何如何。。

其实查再多都不如实践。以下是窝经过查资料加上对个人bash的配色后写出的配置文件,加入到 ~/.bashrc 中即可(对各个发行版通用的)

1
2
3
4
5
6
function git_branch {
ref=$(git symbolic-ref HEAD 2> /dev/null) || return;
echo "("${ref#refs/heads/}") ";
}
PS1="[\[\e[1;35m\]\u\[\e[1;32m\]\w\[\e[0m\]] \[\e[0m\]\[\e[1;36m\]\$(git_branch)\[\e[0;33m\]\$"

或者

1
2
3
4
5
6
7
8
9
10
11
12
function git-branch-name {
git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3
#git rev-parse --abbrev-ref HEAD
}
function git-branch-prompt {
local branch=`git-branch-name`
if [ $branch ]; then printf " [%s]" $branch; fi
}
PS1="\u@\h \[\033[0;36m\]\W\[\033[0m\]\[\033[0;32m\]\$(git-branch-prompt)\[\033[0m\] \$ "

按照惯例,上一张图
屏幕截图