关于在命令行显示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\] \$ '但是macOS升级到Big Sur后默认的脚本解释器从bash改为了zsh,上面的办法就不灵了。
google找到下面这个StackOverflow上的帖子给出了解决方案:
这算是git官方提供的解决方案:
首先下载下面这个git官方仓库的脚本到本地,比如命名为~/.git-prompt.sh
https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh
然后打开$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
如果你的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脚本最前面的用法说明。
第三方软件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