From: Jon Seymour Date: Mon, 25 Apr 2011 10:43:12 GMT Subject: git-work, git-base: an example of how to use it. Message-ID: I haven't had much feedback about git-work, to this point. Peter Baumann mentioned it was a little hard to grok. So, I have updated my github fork with a README.md that shows how I use git work and git base to manage the README.md and the master branch of my git fork on github. The text of the section "HOW I MAINTAIN THIS DOCUMENT" is included here for the convenience of readers, or you may prefer to read the formatted version: https://github.com/jonseymour/git Whenever I edit this document, I do the usual: git add README.md git commit -m "Updates to README" Then I do: git work update jonseymour HEAD~1 The git work command above: * updates the jonseymour branch with the last commit, * merges that commit with $(git base) and updates $(git base) to refer to that merge * rebases remaining unpublished work on top of the new $(git base) Then, I publish the new base and the updated topic to github with: git push public $(git base):master jonseymour:jonseymour The net effect is that: * My changes to README.md go to my jonseymour branch. * My public github branch reflects the work I have stabilised with git work update - it contains my stable dependencies, but not work in progress. * I keep my work in progress rebased on top of my public github master branch. * I keep my unpublished work private. * My working tree remains stable - git work update doesn't change the tree, it only changes the history. jon.