You wouldn't need to setup different branches for each developer (though you could) in one project we setup an architecture like this:
master
pre-prod
qa
devel
The developers all checked-out the devel branch and pushed against it, the QA team would take the devel branch nightly and pull it into QA and actually review what was done and test on a development hardware platform, pre-prod was then pulled from QA after ~weeks worth of QA or a milestone was reached and was tested on production hardware for "internal-beta" once cleared it was then pushed to master.
If you have multiple developers you may just want to take the time to setup gitolite (or Gitosis) and a remote Git repo. Having each developer have it's own Repo and then either your repo being the "main" or having a main repo which you could pull from each developers repo is ideal and works great in big projects with many collaborators.
However a branch-per-developer layout in Github would also work fine too, depending on how many developers you had and how big the code base was ( only because tedious to performance after ~400MB or long history (lots of deltas) )