# hub alias from defunkt
# https://github.com/defunkt/hub
if [ "$commands[(I)hub]" ]; then
    # eval `hub alias -s zsh`
    function git(){hub "$@"}
fi

# Functions #################################################################

# https://github.com/dbb 

# These are taken directly from the instructions you see after you create a new
# repo. As the names imply, new_gh() assumes you're starting from scratch in a
# directory named after the repo (this name is the only argument it takes), and
# exist_gh() assumes that you've already initialized git in the given directory
# (again, the only argument).
# set up a new repo

new_gh() { # [NAME_OF_REPO]
    repo = $1

    name=$(  igit config user.name )
    email=$( git config user.email )
    user=$(  git config github.user )

    mkdir "$repo"
    cd "$repo"
    git init
    touch README
    git add README
    git commit -m 'Initial commit.'
    git remote add origin git@github.com:${user}/${name}.git
    git push -u origin master
}

exist_gh() { # [DIRECTORY]
    cd "$1"
    name=$( git config user.name )
    email=$( git config user.email )
    user=$( git config github.user )

    git remote add origin git@github.com:${user}/${name}.git
    git push -u origin master
}

# End Functions #############################################################


# hub alias from defunkt
# https://github.com/defunkt/hub
if [ "$commands[(I)hub]" ]; then
    # eval `hub alias -s zsh`
    function git(){hub "$@"}
fi

# Functions #################################################################

# https://github.com/dbb 


# empty_gh [NAME_OF_REPO]
#
# Use this when creating a new repo from scratch.
empty_gh() { # [NAME_OF_REPO]
    repo = $1
    ghuser=$(  git config github.user )

    mkdir "$repo"
    cd "$repo"
    git init
    touch README
    git add README
    git commit -m 'Initial commit.'
    git remote add origin git@github.com:${ghuser}/${repo}.git
    git push -u origin master
}

# new_gh [DIRECTORY]
#
# Use this when you have a directory that is not yet set up for git.
# This function will add all non-hidden files to git.
new_gh() { # [DIRECTORY]
    cd "$1"
    ghuser=$( git config github.user )

    git init
    # add all non-dot files
    print '.*'"\n"'*~' >> .gitignore
    git add ^.*
    git commit -m 'Initial commit.'
    git remote add origin git@github.com:${ghuser}/${repo}.git
    git push -u origin master
}

# exist_gh [DIRECTORY]
#
# Use this when you have a git repo that's ready to go and you want to add it
# to your GitHub.
exist_gh() { # [DIRECTORY]
    cd "$1"
    name=$( git config user.name )
    ghuser=$( git config github.user )

    git remote add origin git@github.com:${ghuser}/${repo}.git
    git push -u origin master
}

# End Functions #############################################################


Add functions for new GH repos.
Add functions for new GH repos.
