# set rc file
SHELL=$(echo ${SHELL})
if [ ${SHELL} == "/bin/bash" ]; then
RC="/Users/${USER}/.bashrc"
elif [ ${SHELL} == "/bin/zsh" ]; then
RC="/Users/${USER}/.zshrc"
else
echo "${SHELL} not supported"
fi
read -r -d '' SHOW_GIT_BRANCH <<'EOF'
# Load version control information
autoload -Uz vcs_info
precmd() { vcs_info }
# Format the vcs_info_msg_0_ variable
zstyle ':vcs_info:git:*' formats 'on branch %b'
# Set up the prompt (with git branch name)
setopt PROMPT_SUBST
PROMPT='%n in ${PWD/#$HOME/~} ${vcs_info_msg_0_} > '
EOF
GIT_BRANCH_SET=$(cat ${RC} | grep -q PROMPT=)
if [ ${?} == 1 ] && [ ${SHELL} == "/bin/zsh" ]; then
echo ${SHOW_GIT_BRANCH} >> ${RC}
else
echo "git shell settings already exist"
fi
This has been tested on a fresh install of macOS Big Sur (11.2.3). The script can also be pulled from a gist here on GitHub here. Hope this helps. If there are any issues or improvements please reach out.