Para obter um prompt que indica Git-branch no Zsh

Eu corro os seguintes códigos separadamente como meu prompt sem sucesso em .zshrc. Isso me sugere que, aparentemente, eu não tenho um programa chamado __git_ps1. Não está no MacPorts.

# 1
PROMPT="$(__git_ps1 " \[\033[1;32m\] (%s)\[\033[0m\]")\$"$
# 2
PROMPT="$(__git_ps1 " (%s)")\$"$
# 3
# Get the name of the branch we are on
git_prompt_info() {
  branch_prompt=$(__git_ps1)
  if [ -n "$branch_prompt" ]; then
    status_icon=$(git_status)
    echo $branch_prompt $status_icon
  fi
}

# Show character if changes are pending
git_status() {
  if current_git_status=$(git status | grep 'added to commit' 2> /dev/null); then
    echo "☠"
  fi
}
autoload -U colors
colors
setopt prompt_subst
PROMPT='
%~%{$fg_bold[black]%}$(git_prompt_info)
→ %{$reset_color%}'

Como você pode obter um prompt que mostre o nome de um Git-branch?

questionAnswers(5)

yourAnswerToTheQuestion