Hi, I've been tracking a project, via the master branch, customizing certain aspects and applying my changes into a separate local branch B. In the mean time, there is this new remote branch origin/release_2.1, that was created for releasing a certain version. It happened that I merge entirely that master branch into my local branch, periodically, in order to get the latest change sets. It also happens in that projects, that commits from branch C get merged into the project's origin/master. I'd like to do the following: Take all the those changes I made against origin/master, checkout a local branch based on origin/release_2.1 and apply them on it. This way I can get my customizations re-based against that particular branch (stream) instead of origin/master being the parent/upstream. Is it possible to achieve that? does it involves a kind of git rebasing (--onto ?). So far, I used exclusively a merge flow to maintain my private branch B in sync with origin/master and that right now that code base is more recent than origin/release_2.1. Here is the structure, in ASCII, of the project: (best viewed with a proportional font) origin/master | | | | | | | | | | | +--|--\ (sometimes commits in origin/release_2.1 go into origin/master) | | | | | | | | | | | | | | | | + | (git merge origin/master into my_private_branch) | /| | + | | | | | | | | | + | (git merge origin/master into my_private_branch) | /| | + | | | | | origin/release_2.1 | | / +--|-/ | | | | my_private_branch (git checkout -b) | / +/ | | Regards, -Ilyes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html