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