tj.git-extras/bin/git-create-branch
Mark Pitman a75411b029 Consolidate feature/bug/chore/refactor logic
Remove unneccesary code
2017-07-11 21:42:02 -07:00

41 lines
585 B
Bash
Executable file

#!/usr/bin/env bash
while test $# != 0
do
case $1 in
-r|--remote)
if [[ -n $2 ]]
then
REMOTE=$2
shift
else
REMOTE=origin
fi
;;
*)
BRANCH=$1
esac
shift
done
if [[ -z $BRANCH ]] && [[ -n $REMOTE ]]
then
BRANCH=$REMOTE
REMOTE=origin
fi
test -z $BRANCH && echo "branch required." 1>&2 && exit 1
if [[ -n $REMOTE ]]
then
git ls-remote --exit-code $REMOTE &>/dev/null
if [ $? = 0 ]
then
git push $REMOTE HEAD:refs/heads/$BRANCH
git fetch $REMOTE
git checkout --track -b $BRANCH $REMOTE/$BRANCH
exit $?
fi
fi
git checkout -b $BRANCH