You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.8 KiB
97 lines
2.8 KiB
# 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 |
|
} |
|
|
|
# git.io "GitHub URL" |
|
# |
|
# Shorten GitHub url, example: |
|
# https://github.com/nvogel/dotzsh > http://git.io/8nU25w |
|
# source: https://github.com/nvogel/dotzsh |
|
# documentation: https://github.com/blog/985-git-io-github-url-shortener |
|
# |
|
git.io() {curl -i -s http://git.io -F "url=$1" | grep "Location" | cut -f 2 -d " "} |
|
|
|
# End Functions ############################################################# |
|
|
|
|