Direct commits to github repo. We usually have a master and develop branch as well as smaller branches for separate features if needed. These are not massive enterprise scale projects, and usually there are 2 to 4 devs working on it at once, for perspective.
Edit: Sorry apparently this wasn't clear. I make commits to a local repo and push to github. The local and github repos are rarely out of sync.