threads / discuss / 26785

Question: How to rebase my changes on a new base (ref)?

Subject: Question: How to rebase my changes on a new base (ref)?

## tl;dr

2 messages between Mar 19, 2011 and Mar 19, 2011.

replies: 1people: 1as markdown or json

Ilyes Gouta· Mar 19, 2011, 08:50 UTC · lore
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
Ilyes Gouta· Mar 19, 2011, 08:54 UTC · re: Ilyes Gouta · lore

Re: Question: How to rebase my changes on a new base (ref)?

Please CC me in the reply. I'm not registered to the mailing-list. Thanks!
-Ilyes
On Sat, Mar 19, 2011 at 9:50 AM, Ilyes Gouta <ilyes.gouta@gmail.com> wrote:
Show 59 quoted lines
> 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
>

← back to recent threads