August 16, 2018

Create new Github repository, no mouse required.

How to quickly create new Github project from your command line.

Use gh-utils

git clone && cd gh-utils

# Then install it
lein deps :tree && lein bin

# Source the appropriate shell
source ~/.zshrc # or source ~/.bashrc

# Then see if we can use the project
ls ~/bin/gh-utils

# See the sample usage

Basic Usage

  • First create the basic config that have your Github login/credentials
;; e.g. store this in the known location like ~/Dropbox/config/github.edn
{:username "<your-github-username>"
 :password "<your-github-password>"
  • The basic usage
Usage: gh-utils [options]
  -c, --config CONFIG              ~/Dropbox/config/github.edn
  -r, --repo REPO
  -i, --init-commit
  -l, --remote-label REMOTE_LABEL  origin
  -p, --push
  -h, --help


--config       CONFIG       full path to the config file e.g. ~/Dropbox/config/github.edn
--init-commit               run git-init and git commit on the local project
--repo         REPO         name of repository to be created
--remote-label REMOTE_LABEL remote label default to 'origin'
--push                      push the code to the remote repository as well


a) To push existing project that have already contain some commit (e.g. skip -i)
gh-utils -c ~/Dropbox/config/github.edn -r awesome-idea -l upstream -p

b) To create and push brand new project to Github and run initial commit
gh-utils -c ~/Dropbox/config/github.edn -r awesome-idea -i -l origin -p

c) To create brand new project to Github, run initial commit and skip pushing to remote branch.
gh-utils -c ~/Dropbox/config/github.edn -r awesome-idea -i -l origin

See official for details.

Tags: automation clojure