2018-08-07 11:42:02 -07:00
# Set up hub wrapper for git, if it is available; https://github.com/github/hub
2018-04-24 13:02:58 -07:00
if ( ( $+commands[ hub] ) ) ; then
alias git = hub
2011-03-03 19:38:56 -07:00
fi
2011-08-06 12:58:40 -07:00
# Functions #################################################################
2015-10-01 22:21:29 -07:00
# Based on https://github.com/dbb/githome/blob/master/.config/zsh/functions
2011-08-06 12:58:40 -07:00
2015-10-01 22:21:29 -07:00
# empty_gh <NAME_OF_REPO>
2011-08-06 13:15:09 -07:00
#
# Use this when creating a new repo from scratch.
2015-10-01 22:21:29 -07:00
# Creates a new repo with a blank README.md in it and pushes it up to GitHub.
2011-08-06 13:15:09 -07:00
empty_gh( ) { # [NAME_OF_REPO]
2015-10-01 22:21:29 -07:00
emulate -L zsh
local repo = $1
2011-08-06 12:58:40 -07:00
2015-10-01 22:21:29 -07:00
mkdir " $repo "
touch " $repo /README.md "
new_gh " $repo "
2011-08-06 13:15:09 -07:00
}
# 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]
2015-10-01 22:21:29 -07:00
emulate -L zsh
local repo = " $1 "
cd " $repo " \
|| return
2011-08-06 13:15:09 -07:00
2015-10-01 22:21:29 -07:00
git init \
|| return
# add all non-dot files
print '.*' "\n" '*~' >> .gitignore
git add [ ^.] * \
|| return
2018-08-23 11:01:01 -07:00
git add -f .gitignore \
2015-10-01 22:21:29 -07:00
|| return
git commit -m 'Initial commit.' \
|| return
hub create \
|| return
git push -u origin master \
|| return
2011-08-06 12:58:40 -07:00
}
2011-08-06 13:15:09 -07:00
# 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.
2011-08-06 12:58:40 -07:00
exist_gh( ) { # [DIRECTORY]
2015-10-01 22:21:29 -07:00
emulate -L zsh
local repo = $1
cd " $repo "
2011-08-06 12:58:40 -07:00
2015-10-01 22:21:29 -07:00
hub create \
|| return
git push -u origin master
2011-08-06 12:58:40 -07:00
}
2014-03-10 15:18:50 -07:00
# git.io "GitHub URL"
#
# Shorten GitHub url, example:
2018-08-07 11:42:02 -07:00
# https://github.com/nvogel/dotzsh > https://git.io/8nU25w
2014-03-10 15:18:50 -07:00
# source: https://github.com/nvogel/dotzsh
# documentation: https://github.com/blog/985-git-io-github-url-shortener
#
2015-10-01 22:21:29 -07:00
git.io( ) {
2022-06-12 11:22:29 -07:00
# emulate -L zsh
# curl -i -s https://git.io -F "url=$1" | grep "Location" | cut -f 2 -d " "
print -u2 ${ (%) :- "%F{yellow}%BThe \`git.io\` is deprecated.%b\nView the announcement made by GitHub: https://github.blog/changelog/2022-01-11-git-io-no-longer-accepts-new-urls/%f" }
2015-10-01 22:21:29 -07:00
}
2014-03-10 15:18:50 -07:00
2011-08-06 12:58:40 -07:00
# End Functions #############################################################