I took the liberty of monospacing your ascii-art below:
> | |
> v v
> A ---> B ---> C
> master dev bugs/5
> | | |
> v v v
> A ------> B ----> Ca ... (future work on bug #1234 here)
> -----> Cb ... (future work on bug #2345 here)
I think your approach seems fine. A different way of doing it is to hold
off reseting the dev branch (or copy the commitish of it and use that), and
get the changes into the branches by checking them out, instead of keeping
them in the work-tree/stash:
git commit -am "partial work on bugs 5 and 7" #in dev branch
git checkout bugs/5 dev~1 #note that I'm basing on the prev commit in dev
git checkout -p dev # select stuff for bug 5
git commit -am "partial work on 5"
git checkout -b bugs/7 dev~1
git checkout -p dev # select stuff for bug 7
git commit -am "partial work on 7"
git checkout dev
git reset HEAD~1 # you could've done first, but then you need to copy the
commitish first, and use that when you use checkout -p above, instead of dev
Of course, with this approach, I need to sift through the changes in dev
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To view this discussion on the web visit
To post to this group, send email to firstname.lastname@example.org.
To unsubscribe from this group, send email to
For more options, visit this group at