I often struggle with understanding how github works.
github or git? In any case, have you tried setting up a local and a remote on your local system to try out the commands without the fear of ruining your working repo? You can set up a local and remote on your local computer, and push and pull from them in the same way you do with your local repo and github. Example:
mkdir test
cd test
git init local_repo
cd local_repo
... add files, commit, etc.
cd ../test git clone --bare local_repo/ remote_repo
cd ../local_repo
git remote add origin ../remote_repo
... add more changes and commit
git push origin master
Note, to be able to push, that repo needs to be bare. You can also add a dummy linux user to your local system to play the role of a contributor.
Using this kind of setup really helped me understand git better.