Branch off from the master
branch.
$ git checkout master
$ git checkout -b foo
Work on foo
branch and push to remote foo
branch constantly.
$ git checkout foo
$ git add .
$ git commit -m "Add something. Delete something. Fix somthing."
$ git push origin foo
Merge foo
branch into master
branch.
$ git checkout master
$ git merge --no-ff foo
$ git branch -d foo
$ git push origin master