You need to create a local branch that tracks a remote branch. The following command will create a local branch named davesbranch , tracking the remote branch origin/davesbranch. When you push your changes the remote branch will be updated.
For most recent versions of Git:
git checkout --track origin/daves_branch
--track is shorthand for
git checkout -b [branch] [remotename]/[branch] where [remotename] is origin in this case and [branch] is twice the same, daves_branch in this case.
For Git 184.108.40.206 you needed this:
git checkout --track -b daves_branch origin/daves_branch
For Git 220.127.116.11 and higher, this is enough (it might have started earlier, but this is the earliest confirmation I could find quickly):
git checkout daves_branch
Note that with recent Git versions, this command will not create a local branch and will put you in a 'detached HEAD' state. If you want a local branch, use the
Full details are here: 3.5 Git Branching - Remote Branches, Tracking Branches