git-work, git-base: an example of how to use it.
- From
Jon Seymour <jon.seymour@gmail.com>
- Date
- Apr 25, 2011, 10:43 UTC
- Message-ID
- <BANLkTim07-a5VwSAt7_vLMzOES_JZad9DA@mail.gmail.com>
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.