Skip to content

Instantly share code, notes, and snippets.

@planetceres
Forked from robwierzbowski/gitcreate.sh
Created February 2, 2019 02:23
Show Gist options
  • Save planetceres/ffecc76a6cde5b48a3ff56fcfc6e75f9 to your computer and use it in GitHub Desktop.
Save planetceres/ffecc76a6cde5b48a3ff56fcfc6e75f9 to your computer and use it in GitHub Desktop.
A simple litte script. Create and push to a new github repo from the command line.
#!/bin/bash
# https://gist.github.com/robwierzbowski/5430952/
# Create and push to a new github repo from the command line.
# Grabs sensible defaults from the containing folder and `.gitconfig`.
# Refinements welcome.
# Gather constant vars
CURRENTDIR=${PWD##*/}
GITHUBUSER=$(git config github.user)
# Get user input
read "REPONAME?New repo name (enter for ${PWD##*/}):"
read "USER?Git Username (enter for ${GITHUBUSER}):"
read "DESCRIPTION?Repo Description:"
echo "Here we go..."
# Curl some json to the github API oh damn we so fancy
curl -u ${USER:-${GITHUBUSER}} https://api.github.com/user/repos -d "{\"name\": \"${REPONAME:-${CURRENTDIR}}\", \"description\": \"${DESCRIPTION}\", \"private\": false, \"has_issues\": true, \"has_downloads\": true, \"has_wiki\": false}"
# Set the freshly created repo to the origin and push
# You'll need to have added your public key to your github account
git remote set-url origin [email protected]:${USER:-${GITHUBUSER}}/${REPONAME:-${CURRENTDIR}}.git
git push --set-upstream origin master
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment