#!/bin/bash

if [ "$1" = '--local' ] || [ "$1" = '-l' ]; then
  shift
  git_options=''
  sed_prefix=''
else
  git_options='--remote'
  sed_prefix='origin/'
fi

git branch ${git_options} 2>/dev/null \
| sed '
  s@^..'"${sed_prefix}"'@@
  t
  d
' \
| fzf \
| if [ "$#" -gt 0 ]; then
  xargs -r git "$@"
else
  cat
fi
