I think there is a lot to be said for a clean commit, especially if you can avoid large binary files (like the Lena he checked in).
So, yes, I'd create a new branch, cherry pick, merge, rebase, go crazy until the thing looks good, and then do a pull request.
Hope that's what you were asking :)
Basically, yes :-). I think it will take me a lot of time before I really understand how to use git, which always seem to be more clever than I am, but I also think it's really worth learning. The page http://stefanv.github.com/scikits.image/gitwash/development_workflow.html is really good, I wish I had read it earlier. Then I would not have pushed work-in-progress commits to my master branch on github, now I have to find a way to clean all this mess. But that's how you learn, don't you :-D ? Cheers, Emmanuelle