Linux终端生存之道-显示git分支


我们先来看一下效果

首先进入主目录下 `cd ~` ,找到 `.bashrc` 文件如果没有则新建之

找到如下类似的一段文本,没有则添加

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\[\033[01;32m\]$(git_branch)\[\033[00m\]\$ '
fi

注意 else 中 PS1= 后面那条命令中 $(git_branch)这一个,这其实是一个函数,我们需要在 .bashrc文件中实现这个函数,所以我们需要在这个文件中添加这个函数的实现如下

function git_branch {
  tmp=`git branch -vv 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //" | grep "\["`
  tmp=${tmp#*[}
  tmp=${tmp%]*}
  branch=${tmp#*/}
  if [ "${branch}" = "" ];then
    branch=`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`
  fi
  if [ "${branch}" != "" ];then
    if [ "${branch}" = "(no branch)" ];then
        branch="(`git rev-parse --short HEAD`...)"
    fi
    echo " [$branch]"
  fi
}

评论