Mac 配置Git分支显示

macos 10.15.4版本

配置git显示分支,分别编辑执行了如下文件

先编辑
.bash_profile
.zshrc

# Git branch in prompt.
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\] \$ '

也对应执行了
source .bash_profile
source .bash_profile

显示效果很尴尬
截屏2020-05-05 上午11.03.03.png

请问下,怎么解决才能正常显示

阅读 4.8k
1 个回答

多半是因为你现在还是在 zsh 环境里,评论里 @鸿则 说他那里没问题,多半也是类似原因,因为 TA 的环境是 shell
可以通过 echo $SHELL 或者 echo $0 来确认,如果输出有 zsh,那你上面那些代码肯定不会 work 的,那些代码应该只能在 bash 里 work。
顺便,从 macOS Catalina 开始,default shell 就从 bash 改成了 zsh

因此你至少有三个选择:

  1. 代码加到 .bash_profile 然后通过 exec bash 临时把当前 session 切换到 bash,理论上你上面那些代码在切换之后就可以 work 了。当然你也可以用 chsh -s /bin/bash 命令把默认的 shell 改成 bash
  2. 不改 shell,找一个适用于 zsh 的显示 branch 的脚本,或者插件,比如:https://github.com/olivierver...
  3. 不改 shell,使用 oh-my-zshhttps://ohmyz.sh/

个人不推荐第一种做法,以及我个人的方案是第三种,因为 oh-my-zsh 还有很多其他我认为很好的功能

以及,也可以从 System Preferences 里面来更改:

  1. 打开 User & Groups

image.png

  1. 右键,选择 Advanced Options

image.png

  1. 这里可以设置你默认的 shell

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题