This is a git repository where we can stick all sorts of code and text files.
A git repository is not much more than a directory of files and directories. The only real difference is a set of hidden files used by the Git program to track metadata and changes to the repository.
I have a copy of this repository on my own computer - which allows me to do things like review a history of the changes i've made to the files in the repository, or view the actual changes or differences, and even revert back and forth between different places in the revision history.
Git repositories (like the one on my computer) can communicate with other Git repositories. There's an "Alex" repository on my computer that knows how to communicate with the "Alex" repository that lives on GitHub. The most basic type of communication between repositories would be to take all the changes and history that i've created on my local repository and push them up to the repository hosted on GitHub.
In the same way, you can make a copy of the repository stored on GitHub to begin editing the files in the repository on your own computer. At that point you'd have your own, local "Alex" repository that is also capable of sending and recieving changes from the repository on GitHub... and at that point, we're collaborating.