1. Github for Noobs

I had already learned a lot of this from various other sources, like the actual Git website, but Github for Noobs is a valuable resource because Travis puts the most common commands in an easy to understand and follow format. I just wanted to learn how to do everything on the command line, but there is really no need. looking at and merging pull requests is nicer and easier on GitHub. So I’ll create branches, switch between them, commit and push using command line, then go to GitHub create pull reuest, view diff and merge.

2. github gem

I really like this github gem because it wraps a number of git actions in easy to use aliases. We can easily push, pull and fork with much simpler commands. I could not get the issues commands to work however, so I just installed the next gem.

3. ghi gem

This gem allows you to view and manage issues right there on the command line. Here are the the most commonly used ghi commands, from the apps help menu:

  • list – List your issues (or a repository’s)
  • show – Show an issue’s details
  • open – Open (or reopen) an issue
  • close – Close an issue
  • edit – Modify an existing issue
  • comment – Leave a comment on an issue
  • label – Create, list, modify, or delete labels
  • assign – Assign an issue to yourself (or someone else)
  • milestone – Manage project milestones
  • status – Determine whether or not issues are enabled for this repo
  • enable – Enable issues for the current repo
  • disable – Disable issues for the current repo

So yeah, very useful to have this right there on the command line.

4. Build Awesome Command Line Applications in Ruby 2

This book by David Bryant Copeland is laid out brilliantly, explains things very clearly, and follows a very practical structure. He takes you through two different types of command line apps, and applies the principles in each chapter to these apps. You buold up a very basic app, then expand on it with new knowledge.

I can’t recommend this book enough.