You need to create a local branch that tracks a remote branch. The following command will create a local branch named daves_branch, tracking the remote branch origin/daves_branch. When you push your changes the remote branch will be updated.
For most 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 1.5.6.5 you needed this:
git checkout --track -b daves_branch origin/daves_branch