This is intended to be a quick and short introduction to git. This assumes some knowledge of the Linux/Unix command line. The lessons aim to amuse. So if you are not laughing, or at least chuckling, there may be something wrong with you.
git is a command line program and is "free and open source distributed version control system." If any part of this is confusing, I highly recommend going directly to the documentation of git.
Github is one of many websites that act as a "remote" for your repositories.
The answer to this question is probably just as important as understanding what it is. People use git to track the changes made to a file. Usually containing source code. It allows multiple people to work on the same file. And they can be anywhere.What happens when, where and why it’s important. It is intended as an overview rather than a cheat sheet.
============================================================================
----WORKING FILES---- ----STAGING---- ----REPOSITORY----
NEW FILE
[ create file -> git add file -> git commit -m ]
UNTRACKED GIT FILE
untracked -> tracked(staged (to be committed)) -> committed
TRACKED GIT FILE
[ unstaged file -> staged -> git commit -m ]
============================================================================
Committed files are tracked files. A file can not be committed unless it is tracked.
When a committed file is changed it is “modified” and in an ‘unstaged’ state.
If you don't find this simple diagram useful, perhaps "The lifecycle of the status of your files" image will be more useful.