让 shell 显示当前 git 的分支名称

早上测试脚本的时候,偶然在这篇文章《Git – setting up a remote repository and doing an initial push》看到一个关于 git 的好玩东西,记录于此。

根据文章的提示在 ~/.bashrc 里添加下面的内容,可以让提示符显示当前 git 的分支名称。我按照自己的习惯修改了提示符的格式。

__mikespook_ps1() {
    local none='\[\033[00m\]'
    local g='\[\033[0;32m\]'
    local c='\[\033[0;36m\]'
    local emy='\[\033[1;33m\]'
    local br='\[\033[1;41m\]'
 
    local uc=$none
    local p='$'
    if [ $UID -eq "0" ] ; then
        uc=$CBR
        p='#'
    fi
    local u="${uc}${debian_chroot:+($debian_chroot)}\u${none}"
    local h="${c}\h${none}:${g}\w${none}"
    echo "$u@$h\$(__git_ps1 '[${emy}%s${none}]')${uc}${p}${none} "
}
 
export PS1=$(__mikespook_ps1)

这样,就能得到效果:

git-branch-show-in-prompt

Comments

One response to “让 shell 显示当前 git 的分支名称”

  1. emitle Avatar
    emitle

    可以用zsh这个shell,有很多扩展,oh_my_zsh这个配置也很好。

Leave a Reply

Your email address will not be published. Required fields are marked *