title: bash: git_prompt: command not found
body: <p>I'm getting this Annoying <code>git_prompt: command not found</code> error. I got a new Mac, and I'm trying to use my old <code>.bash_profile</code> into the new computer. I used <a href="https://github.com/thoughtbot/laptop" rel="nofollow noreferrer">Thoughtbot's laptop</a> configuration which worked well last time.</p>
  
  <p>I'm running on Mac Os Sierra, here is my <code>.bash_profile</code>:</p>
  
  <pre><code># Configuring Our Prompt
  # ======================
  
    # if you install git via homebrew, or install the bash autocompletion via homebrew, you get __git_ps1 which you can use in the PS1
    # to display the git branch.  it's supposedly a bit faster and cleaner than manually parsing through sed. i dont' know if you care
    # enough to change it
  
    # This function is called in your prompt to output your active git branch.
    function parse_git_branch {
      git branch --no-color 2&gt; /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
    }
  
    # This function builds your prompt. It is called below
    function prompt {
      # Define some local colors
  
      local   LIGHT_RED="\[\033[1;31m\]" # really understood
      local        CHAR="theAsteve  :"    local   BLUE="\[\e[0;49;34m\]"
  
      # ♥ ☆ - Keeping some cool ASCII Characters for reference
  
      # Here is where we actually export the PS1 Variable which stores the text for your prompt
      export PS1="theAsteve$  "
        PS2='&gt; '
        PS4='+ '
      }
  
    # Finally call the function and our prompt is all pretty
    prompt
  
  
    export NODE_PATH="/usr/local/lib/node_modules:$NODE_PATH"
  
    export GIT_MERGE_AUTOEDIT='no'
  
      # Editors
      # Tells your shell that when a program requires various editors, use sublime.
      # The -w flag tells your shell to wait until sublime exits
      export VISUAL="vim"
      export SVN_EDITOR="vim"
      export GIT_EDITOR="vim"
      export EDITOR="vim"
  
      # Version
      # What version of the Flatiron School bash profile this is
    # Paths
  
      # The USR_PATHS variable will just store all relevant /usr paths for easier usage
      # Each path is seperate via a : and we always use absolute paths.
  
      # A bit about the /usr directory
      # The /usr directory is a convention from linux that creates a common place to put
      # files and executables that the entire system needs access too. It tries to be user
      # independent, so whichever user is logged in should have permissions to the /usr directory.
      # We call that /usr/local. Within /usr/local, there is a bin directory for actually
      # storing the binaries (programs) that our system would want.
      # Also, Homebrew adopts this convetion so things installed via Homebrew
      # get symlinked into /usr/local
      export USR_PATHS="/usr/local:/usr/local/bin:/usr/local/sbin:/usr/bin"
  
      # Hint: You can interpolate a variable into a string by using the $VARIABLE notation as below.
  
      # We build our final PATH by combining the variables defined above
      # along with any previous values in the PATH variable.
  
      # Our PATH variable is special and very important. Whenever we type a command into our shell,
      # it will try to find that command within a directory that is defined in our PATH.
      # Read http://blog.seldomatt.com/blog/2012/10/08/bash-and-the-one-true-path/ for more on that.
      export PATH="$USR_PATHS:$PATH"
  
      # If you go into your shell and type: echo $PATH you will see the output of your current path.
      # For example, mine is:
      # /Users/avi/.rvm/gems/ruby-1.9.3-p392/bin:/Users/avi/.rvm/gems/ruby-1.9.3-p392@global/bin:/Users/avi/.rvm/rubies/ruby-1.9.3-p392/bin:/Users/avi/.rvm/bin:/usr/local:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/local/mysql/bin:/usr/local/share/python:/bin:/usr/sbin:/sbin:
  
  # Helpful Functions
  # =====================
  
  # A function to CD into the desktop from anywhere
  # so you just type desktop.
  # HINT: It uses the built in USER variable to know your OS X username
  
  # USE: desktop
  #      desktop subfolder
  function desktop {
    cd /Users/$USER/Desktop/$@
  }
  
  # A function to easily grep for a matching process
  # USE: psg postgres
  function psg {
    FIRST=`echo $1 | sed -e 's/^\(.\).*/\1/'`
    REST=`echo $1 | sed -e 's/^.\(.*\)/\1/'`
    ps aux | grep "[$FIRST]$REST"
  }
  
  #==================================
  # GOLANG PATH
  #=================================
  export GOPATH=/usr/local/go/bin/go
  export PATH=$PATH:$GOPATH/bin
  
  # A function to extract correctly any archive based on extension
  # USE: extract imazip.zip
  #      extract imatar.tar
  function extract () {
      if [ -f $1 ] ; then
          case $1 in
              *.tar.bz2)  tar xjf $1      ;;
              *.tar.gz)   tar xzf $1      ;;
              *.bz2)      bunzip2 $1      ;;
              *.rar)      rar x $1        ;;
              *.gz)       gunzip $1       ;;
              *.tar)      tar xf $1       ;;
              *.tbz2)     tar xjf $1      ;;
              *.tgz)      tar xzf $1      ;;
              *.zip)      unzip $1        ;;
              *.Z)        uncompress $1   ;;
              *)          echo "'$1' cannot be extracted via extract()" ;;
          esac
      else
          echo "'$1' is not a valid file"
      fi
  }
  
  
  # Bash completion has been installed to:
  # /usr/local/etc/bash_completion.d
  
  [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] &amp;&amp; . "/usr/local/etc/profile.d/bash_completion.sh"
  
  # Case-Insensitive Auto Completion
  bind "set completion-ignore-case on"
  
  # Postgres
  export PATH=/Applications/Postgres.app/Contents/Versions/9.4/bin:$PATH
  
  
    if [ -f `brew --prefix`/etc/bash_completion ]; then
      . `brew --prefix`/etc/bash_completion
    fi
  
  # ===============================================================
  # History
  # ===============================================================
  # Larger bash history
  export HISTSIZE=32768
  export HISTFILESIZE=$HISTSIZE
  
  # ---------------------
  # Colors
  # ---------------------
  
  # Adds colors to LS
  export CLICOLOR=1
  # http://geoff.greer.fm/lscolors/
  export LSCOLORS=bxexcxdxbxegedabagacad
  # prompt colors
  BLACK="\[\e[0;30m\]"
  RED="\033[1;31m"
  ORANGE="\033[1;33m"
  GREEN="\033[1;32m"
  PURPLE="\033[1;35m"
  WHITE="\033[1;37m"
  YELLOW="\[\e[0;33m\]"
  CYAN="\[\e[0;36m\]"
  BLUE="\[\e[0;34m\]"
  BOLD=""
  RESET="\033[m"
  
  
  #----------------------
  # style the prompt
  # ---------------------
  style_user="\[${RESET}${WHITE}\]"
  style_path="\[${RESET}${CYAN}\]"
  style_chars="\[${RESET}${WHITE}\]"
  style_branch="${RED}"
  
  # A more colorful prompt
  # \[\e[0m\] resets the color to default color
  c_reset='\[\e[0m\]'
  #  \e[0;31m\ sets the color to red
  c_path='\[\e[0;31m\]'
  # \e[0;32m\ sets the color to green
  c_git_clean='\[\e[0;32m\]'
  # \e[0;31m\ sets the color to red
  c_git_dirty='\[\e[0;31m\]'
  
  # ---------------------
  # Build the prompt
  # ---------------------
  # Example with committed changes: username ~/documents/GA/wdi on master[+]
  
  __GIT_PROMPT_DIR=$(brew --prefix)/opt/bash-git-prompt/share
  
  [ -f /usr/local/etc/bash_completion ] &amp;&amp; . /usr/local/etc/bash_completion || {
      # if not found in /usr/local/etc, try the brew --prefix location
      [ -f "$(brew --prefix)/etc/bash_completion.d/git-completion.bash" ] &amp;&amp; \
          . $(brew --prefix)/etc/bash_completion.d/git-completion.bash
  }
  
  source ~/.bash_git
  
  # PS1 is the variable for the prompt you see everytime you hit enter
  
  PS1+="${style_user}\u"                   # Username
  PS1+="${style_path} \w"                  # Working directory
  PS1+="\$(prompt_git)"                    # Git details
  PS1+="\n"                                # Newline
  PS1+="${style_chars}\$ \[${RESET}\]"     # $ (and reset color)
  export PS1='\t H#\! \u:\w$(__git_ps1 "{%s}") --&gt;&gt; '
  </code></pre>
  
  <p>I tried some of the other posts regarding the same issue. I tried going over the following code without success. <a href="https://stackoverflow.com/questions/15384025/bash-git-ps1-command-not-found/17508424">-bash: __git_ps1: command not found</a></p>
  
  <p>At </p>