Create gists from Command Line

By  on  

One of the best ways to gain contributors for your open source project is by providing a rough patch for the contributor to start from.  One of the best ways to ask for help is by providing what you have so far and letting a mentor look it over and provide suggestions.  In both cases, you'll need to put the code somewhere accessible by all parties and, since GitHub has taken over the code hosting world, what better platform to do it on?

Since pull requests make a lot of noise and the code you want to share isn't always merge material, the next best way is providing a GitHub gist.  Gists are easy to create manually but I wanted an automated method for creating gists, so I've turned to pretty-diff's gist-diff, a single command that creates a GitHub gist with git diff contents.

Installation and Configuration

Start by installing pretty-diff:

npm install -g pretty-diff

The next step is ensuring your global git config knows your GitHub username:

git config --global github.user "MyGitHubUsername"

The last step is going to GitHub and creating a Personal Access Token (don't forget to check the "Create gist" checkbox) for the functionality pretty-diff provides.  Once you've created the token, execute the following:

git config --global gist-diff.token "######################"

Now we're ready to use gist-diff!

Creating a Gist

Once you've create the changes you'd like to share, run gist-diff to send your changes to GitHub:

# just execute the command!
gist-diff

gist-diff creates a gist and then opens your browser to the URL of the gist.

I wish I had known about pretty-diff sooner, and from this point forward, it's going to be one of the first utilities I install on every new work computer.  Sharing code is one of the luxuries of the modern open source landscapes and the ability to create a gist of current changes with one command is a huge time saver.

Recent Features

  • By
    CSS vs. JS Animation: Which is Faster?

    How is it possible that JavaScript-based animation has secretly always been as fast — or faster — than CSS transitions? And, how is it possible that Adobe and Google consistently release media-rich mobile sites that rival the performance of native apps? This article serves as a point-by-point...

  • By
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

Incredible Demos

  • By
    MooTools Clipboard Plugin

    The ability to place content into a user's clipboard can be extremely convenient for the user. Instead of clicking and dragging down what could be a lengthy document, the user can copy the contents of a specific area by a single click of a mouse.

  • By
    CSS Background Animations

    Background animations are an awesome touch when used correctly.  In the past, I used MooTools to animate a background position.  Luckily these days CSS animations are widely supported enough to rely on them to take over JavaScript-based animation tasks.  The following simple CSS snippet animates...

Discussion

    Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!