Climbing with Branches (1) $ git branch crazyidea $ git checkout crazyidea (2) $ git branch * crazyidea master edit/compile/update-index/commit (3) $ git checkout master (4) $ git pull . crazyidea (1) create and checkout crazyidea (2) list all branches (3) checkout the master branch again (4) pull changes into master and commit