Github Basics

i know enough to browse other peoples code and download firmware updates etc…but i’ve never shared anything myself because i still don’t understand github as well as i’d like to

sorry if this feels like clutter, using github might seem easy to some of you, but for many of us the initial challenge is enough of a barrier to stop us from contributing meaningfully to development of our favorite instruments

as @GoneCaving once said (with regard to teletype script sharing) technical know-how required to commit to git is probably the number one reason more of us don’t share content which could benefit the community

seeing @Justmat comment about this topic again today made me finally break down and create a thread to help everybody who’s struggling a bit

you’ll find a daunting amount of info at but i strongly encourage those interested in improving to take time reading the four articles in the bootcamp section at the top

please ask specific questions below and hopefully more experienced users can help :v:


hey, thanks for making this thread. I’ve known C since I was a kid and am still daunted by git and GitHub, simply because I don’t program enough to have needed to learn.


yeah i figured there’s alot of folks who could use pointers on this…

i’ll go first

i’ve been following dev for norns and can see a pr here by @burn

i couldnt find in monome/dust/lib so i checked his fork ( and still cant seem to find the details

is it perhaps hidden?

As always, Daniel Shiffman is here to save us and answer all of our ultra-basic questions. Thanks for kicking this off, @glia. Great idea.


i couldnt find in monome/dust/lib so i checked his fork ( 1) and still cant seem to find the details

It’s on the burn branch

EDIT: whoops, didn’t have the full link pasted, sorry!

awesome will watch asap
thank you


if you don’t mind me asking
how did you find or access that branch?

no prob! This:

says “I want to merge the burn branch on the jonpauldavides fork into the master branch on the monome fork”

If you wanted to check it out. You’d need to add the jonpauldavies fork to your remotes, fetch it, and checkout the branch. I think:

git remote add jonpauldavies
git fetch jonpauldavies
git checkout jonpauldavies/burn

(I think, writing these commands off the top of my head so there may be syntax errors)

1 Like

Also, just a note that I believe there might be a bit of discrepancy to the state of the dust repo on norns and the way the norns image was added to the devices. I’m trying to tease that out a bit right now in this issue. Things may be a little “abnormal” if you try to get in there and do git stuff to update your device until we square that away.

If anyone needs help publishing stuff using git to any of the monome repos, my PMs are open, as well as happy to answer questions here.


Thanks for creating this thread, fantastic idea.


@jlmitch5 is spot on. note that you can also download the source right from the GH UI:


There is a branch menu in the upper-left corner just above the list of files.


you can also download the source right from the GH UI

Definitely the easier way to do this! downloading and copying/pasting the scripts and pieces into the UI should work fine (provided the scripts work and you get all the pieces and data files and stuff the script needs to run)

1 Like

I strongly recommend downloading the Github Desktop client. It almost makes git as easy as using any other Mac app. Then, instead of downloading zips or individual files, just clone the whole repo. Then you’ll be well positioned to contribute code from your local copy when you are ready.


Ditto. Im more than happy to help in this regard.


I just want to offer some words of encouragement here. I know git can seem intimidating and impenetrable at first, but once you start using it, it is really No Big Deal, and we’ll all be here to help.

Once it sets in as a habit you will wish you had started using it sooner.


I am also happy to answer any/all questions. If anybody would like guides to working on documentation in particular, I could probably be convinced to write that up.


Yes, I’ve only ever used the client. I do feel very inferior.

1 Like

Nah! It works! It’s a good idea to be well comfortable with it before getting into the command line. It helps because by then, you will have many of the basic concepts down, and you’ll just be learning syntax (not the whole “what the heck is git” thing).


I’m just tinkering with git, mainly using a repository wiki to keep notes. Having to add, then commit, then push, all seems a bit clunky. Can someone help me understand why all three are necessary?