I took the liberty of monospacing your ascii-art below:

master       dev 
> |             | 
> 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) 
>                    ^ 
>                    | 
>                 bugs/7 

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 git-users@googlegroups.com.
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to