为bash shell添加git分支名称提示
在我的日常开发工作中,主要使用git flow工作流,因此,会经常涉及到分支间的切换问题,发现周围小伙伴使用的zsh可以给终端添加git分支提示,效果一级棒,但是作为一个bash shell拥护者,肯定是不会为这么一个小功能就转投zsh的怀抱啦。于是乎,我就想看看bash shell下是否也有类似的解决方案。经过调查,发现其实原理并不复杂。简单来说,就是通过某种方法获取到当前git的分支名,然后附加在bash shell的提示之后,组成新的bash shell提示文字。
简单的修改如下:
1 在~/.bashrc文件里新增一个函数,用于获取git的分支信息1
2
3parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
2 将获取的git分支信息附加到终端提示符之后1
2# PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] ' # old bash shell prompt
PS1="\[\033[01;32m\]\u@\h\[\033[01;34m\] \w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] "
从上面的新旧PS1的对比不难看出,就是在终端输出的结尾位置添加了git的分支名称,并且用合适的颜色进行了设置。
参考资料:
1 https://coderwall.com/p/fasnya/add-git-branch-name-to-bash-prompt