2c660c16ad
`hub` is crashing for me on a old CentOS setup with "undefined method `shelljoin'". On first use of the `git` function it is now checked if `hub --version` returns successfully.
71 lines
1.8 KiB
Bash
71 lines
1.8 KiB
Bash
# Setup hub function for git, if it is available; http://github.com/defunkt/hub
|
|
if [ "$commands[(I)hub]" ] && [ "$commands[(I)ruby]" ]; then
|
|
# 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 )
|
|
|
|
git remote add origin git@github.com:${ghuser}/${repo}.git
|
|
git push -u origin master
|
|
}
|
|
|
|
# End Functions #############################################################
|
|
|