让terminal显示git所在的当前分支名

find_git_branch () {
    local dir=. head
    until [ "$dir" -ef / ]; do
        if [ -f "$dir/.git/HEAD" ]; then
            head=$(< "$dir/.git/HEAD")
            if [[ $head = ref:\ refs/heads/* ]]; then
                git_branch=" | ${head#*/*/}"
            elif [[ $head != '' ]]; then
                git_branch=" | (detached)"
            else
                git_branch=" | (unknow)"
            fi  
            return
        fi  
        dir="../$dir"
    done
    git_branch=''
}

PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"
PS1="\u@\h:\w\$git_branch\$ "
把上面的代码加入到 .bashrc下,以后进入终端cd到有git仓库的地方就会显示当前分支名(我的为a2),否则显示detached
 这样就不用担心进错分支了

你可能感兴趣的:(Git)