让 Shell 命令提示符显示 Git 分支名称

在本地环境( iTerm2 + zsh) 使用终端工具操作 Git 时, 能够显示"当前文件夹名称"以及" Git 分支名称"(如下图).

1629971421(1)

这种设置非常有用, 尤其是需要频繁切换分支时, 能够避免操作错误的分支.

在 Shell 的配置文件中添加下面代码:

function git-branch-name {
  git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3
}
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\] \$ "

注意: 上面的 git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3 可以改成 git symbolic-ref --short -q HEAD, 更简洁, 而且测试有效.

因为使用的是 bash, 所以配置文件在 ~/.bashrc, 添加上面的代码之后, 输入 source ~/.bashrc 使配置立即生效.

参考链接:https://www.jianshu.com/p/82783f76a868

posted @ 2021-08-26 17:53  不止所见  阅读(1000)  评论(0编辑  收藏  举报