First off, I would like to start off by explaining the benefits of version control. Let me start of with a story that many can relate too. As a child you are drawing a picture of your home. While drawing the picture, another kid spills a bottle of paint on your picture, ruining it. If you had version control in place you wouldn't have to worry. You could revert back to a good "working version" of your picture. Let's say that you are using some version control, and you want to experiment with what it would be like to change the color of the picture. Using git and version control one can do this, without worry.
Git has some very helpful tools, that allows one to track changes and keep changes organized. Every time you want to make a change to a file, you will add the changes to a commit. A commit is a snapshot of the codebase at any given time. Each commit also should have a descriptive message, explaining what has changed since the last commit. Once your code has been commited and pushed, you have the option of sharing the code with the rest of the world.
This is where Github comes in. Github is a website where many opensource projects house their git repositories. Github plays major role in allowing people all over the world see eachothers code, and collaborate efficiently using git.