I'd be happy to help, but I'm generally better at answering questions than I am providing a good up-front explanation.
Basics:
When software is written and changed, it's good practice to have a system that tracks all code changes. This way you can go forward or backward in the code "timeline" and others can easily review changes that have been made. A popular open source Configuration Management (CM) program is Git, and is used by both Linux (it was developed by Linus to replace an older CM system, for Linux kernel development) and Android. Each project, or even pieces of a project, is stored in what's called a repository, which tracks all of the changes.
Github is an online storage for Git repositories, one of several but probably the most popular. Not only does it store the repository, but you can view the contents and even make edits directly.
Generally though, you would just use Github to clone an existing repository, and then a Git client on your computer to clone that repository on your computer. From there you can use the source code, make changes, commit changes, and upload those changes back to Github for people to see.
But the most powerful part of this is that you can also see the changes other people make and apply those same changes. Git has three functions that help out with this and are a matter of preference as to which you use, but the result is the same, mostly automatic code patching. The functions are 'git cherry-pick' 'git am' and 'git patch'. googling those will yield far more information than I can attempt to put here. My best suggestion is a little trial and error making a few changes to some code and then you'll get the hang of it.