Navigate to the user's root directory, and append the following codes to the fie .bash_profile
local_remote() {
read -p "create local and remote git repository push all files in current directory? y/* " verify
case "$verify" in
yes|y)
echo "..."
;;
*)
echo -n "you didn't enter y or n"
exit
;;
esac
repo_name=$1
dir_name=`basename $(pwd)`
if [ "$repo_name" = "" ]; then
echo "Repo name (hit enter to use '$dir_name')?"
read repo_name
fi
if [ "$repo_name" = "" ]; then
repo_name=$dir_name
fi
username=`git config github.user`
if [ "$username" = "" ]; then
echo "Could not find username, run 'git config --global github.user <username>'"
invalid_credentials=1
fi
token=`git config github.token`
if [ "$token" = "" ]; then
echo "Could not find token, run 'git config --global github.token <token>'"
invalid_credentials=1
fi
if [ "$invalid_credentials" == "1" ]; then
return 1
fi
echo -n "Creating local Github repository '$repo_name' ..."
git init && git add . && git cm -m 'init commit' > /dev/null 2>&1
echo " done."
echo -n "Creating Github remote repository '$repo_name' ..."
curl -u "$username:$token" https://api.github.com/user/repos -d '{"name":"'$repo_name'"}' > /dev/null 2>&1
echo " done."
echo -n "Pushing local code to remote ..."
git remote add origin [email protected]:$username/$repo_name.git > /dev/null 2>&1
git push -u origin master > /dev/null 2>&1
echo " done."
}
Every time you hit local_remote you'll create the local and remote git repository automatically. But notice the warning before you enter the first y or yes to verify. Once one have master bash programming, he can make his routine work much easy. I only have the basics of bash shell scripting only in hand and hope to know more and become a guru someday.