# Setup hub function for git, if it is available; http://github.com/defunkt/hub if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then # Autoload _git completion functions if declare -f _git > /dev/null; then _git fi if declare -f _git_commands > /dev/null; then _hub_commands=( 'alias:show shell instructions for wrapping git' 'pull-request:open a pull request on GitHub' 'fork:fork origin repo on GitHub' 'create:create new repo on GitHub for the current project' 'browse:browse the project on GitHub' 'compare:open GitHub compare view' ) # Extend the '_git_commands' function with hub commands eval "$(declare -f _git_commands | sed -e 's/base_commands=(/base_commands=(${_hub_commands} /')" fi # eval `hub alias -s zsh` function git(){ if ! (( $+_has_working_hub )); then hub --version &> /dev/null _has_working_hub=$(($? == 0)) fi if (( $_has_working_hub )) ; then hub "$@" else command git "$@" fi } 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 ) repo=$1 git remote add origin git@github.com:${ghuser}/${repo}.git git push -u origin master } # End Functions #############################################################