I've done a ton of reading on this, but still can't seem to get my head (no pun intended...) around it.
Where you have a branch that is a) a branch that many people pull from (a common develop branch for example) and b) a branch downstream from changes that you want to regularly integrate into that branch: how do you keep it up to date? It seems that git merge is going to create a very messy history (that you'd then integrate with your master), but git rebase is untenable given multiple people pull from that branch.
For example, the Develop branch here (needs to integrate changes from Stable + multiple branches refer to it): http://blogs.remobjects.com/blogs/mh/2011/08/25/p2940
Possible (but imperfect) solutions I could see include: not keeping your develop branch up to date, cherry picking commits that occur upstream.
Thanks!