macOS(Big Sur)命令行终端显示git分支

传统解决方案

关于在命令行显示git分支,我找到了网上很多文章,都类似,比如下面这篇:
《mac终端使用git命令行显示分支信息》
就是修改.bashrc脚本添加如下代码就可以了,我之前在linux平台基本就是这么干的。

function git_branch {
   branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
   if [ "${branch}" != "" ];then
       if [ "${branch}" = "(no branch)" ];then
           branch="(`git rev-parse --short HEAD`...)"
       fi
       echo " ($branch)"
   fi
}
export PS1='\u@\h \[\033[01;36m\]\W\[\033[01;32m\]$(git_branch)\[\033[00m\] \$ '

git官方解决方案

但是macOS升级到Big Sur后默认的脚本解释器从bash改为了zsh,上面的办法就不灵了。
google找到下面这个StackOverflow上的帖子给出了解决方案:

《Show git branch and status in Mac Bash》

这算是git官方提供的解决方案:
首先下载下面这个git官方仓库的脚本到本地,比如命名为~/.git-prompt.sh

https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh

基于zsh

然后打开$HOME下的.zshrc,如果~/.zshrc不存在,就先执行下面的命令创建它

touch ~/.zshrc

然后在~/.zshrc中添加下面的代码:

GIT_PS1_SHOWUPSTREAM="auto"
GIT_PS1_SHOWCOLORHINTS="yes"
source ~/.git-prompt.sh
setopt PROMPT_SUBST
PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '

保存~/.zshrc文件后重新执行就可以看到效果了

source ~/.bashrc

在这里插入图片描述

基于bash

如果你的MacOS改用了bash做默认脚本解释器,基于.git-prompt.sh的方式也是可以用的,只是要修改~/.bashrc(注意不是~/.zshrc哦),添加下面的代码:

GIT_PS1_SHOWUPSTREAM="auto"
GIT_PS1_SHOWCOLORHINTS="yes"
source ~/.git-prompt.sh
PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '

关于这部分更详细的说明参见.git-prompt.sh脚本最前面的用法说明。

brew 提供的解决方案

第三方软件vcprompt提供了Git (and Hg, Bazaar and SVN)等版本控制工具的命令行提示支持
可以通过homebrew安装,如下:

brew install vcprompt

这个倒是非常简单,但因为我已经用前面的方案实现了需要,这个方案我没有试过

参考资料

《Show git branch and status in Mac Bash》

https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

10km

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值