Managing Gists Locally
by Danny Quah, May 2020
Through the Embed instruction or plugin, Gist snippets on GitHub can conveniently provide posts on Medium, WordPress, and elsewhere supplementary information (lines of code, images, Markdown-created tables, and so on). But while Gist snippets on GitHub can be managed directly via browser or through something like Gisto, a user might also wish to manipulate them offline. This last is for many of the same reasons that a user seeks to clone a git repo to their local filesystem, modify it locally, and then only subsequently push changes back up to GitHub.
Here’s how to do this:
Create the gist on GitHub and then clone it to your local filesystem:
$ git clone https://gist.github.com/DannyQuah/5f43f9b75970bc4e357e42c7c9214b5d
Locally, rename that folder however you wish (or just leave it as that long string):
$ mv -i 5f43f9b75970bc4e357e42c7c9214b5d localGistFolder
Work on the file inside localGistFolder/
; and then, whenever ready, as usual do:
$ # changes ...
$ git commit -m "The new changes"
$ git push
Using the feature that a git repo on the local filesystem can be associated with multiple remotes on GitHub, it is possible also, alternatively and optionally, to get fancy by saving both a gist and a git repo on GitHub. Doing so follows Ishu3101.
(In the sequel, anything that begins my
should be named however the user prefers.)
After the steps above also create on GitHub a new git repo myGistProject
; then from inside localGistFolder/
add that new GitHub repo as a remote, labelling it myGitHub
for git use, i.e.,
$ git remote add myGithub https://github.com/DannyQuah/myGistProject
Push to the new repository on GitHub
$ git push myGithub master
Keep things parallel by renaming the remote of the Gist snippet: origin
is where this had come from, so now instead call it myGist
$ git remote rename origin myGist
Now each time push either to myGithub or myGist (or both, obviously):
$ # changes ...
$ git commit -m "The new changes"
$ git push myGithub master # to github
$ git push myGist master # to gist
Prosper.
Originally published at http://github.com.