GitHub is a great central repository silo for open source projects, and for private Git repositories for companies and organizations with enough cash to afford the features GitHub offers.
However, for many projects and developers, GitHub can be overkill. For my needs, I have many smaller private projects that I'd like to have hosted centrally, and backed up, but don't warrant BitBucket or GitHub accounts. Therefore, I've taken to creating bare repositories on one of my Linode servers, and pushing all my local branches and tags to these repos. That server is backed up nightly, so I know if I lose my local environment, as well as my Time Machine backup (a very unlikely occurrence, but still possible), I will have backed up and fully intact Git repos for all my projects.
I recommend you do something like the following (presuming you already have a Git repo on your local computer that you've been working with):
Step 1 - on your remote server (accessible via ssh)
# Create a 'repositories' directory in your user home directory.
$ mkdir ~/repositories && cd ~/repositories
# For each of your local repositories, make a directory ending in '.git'.
$ mkdir My-Project.git && cd My-Project.git
# Create a bare git repository inside this new directory.
$ git --bare init