Let's say you start a project locally, and do some editing.
$ mkdir -p ~/git/foo && cd ~/git/foo
$ touch NEWFILE
Now you decide you want to create a new github repo and track it, but the directory is non-empty so git won't let you clone into it. You can fix this, thusly:
$ cd ~/git/foo
$ git init
$ git remote add origin [email protected]:yourname/foo.git
$ git fetch
$ git branch master origin/master
$ git checkout master
$ git add -A
$ git commit -m 'first commit'
$ git push