From: "Dirk Süsserott" <newsletter@dirk.my1.cc>
To: allstars <allstars.chh@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: rebase on remote branch
Date: Tue, 12 Apr 2011 20:08:04 +0200 [thread overview]
Message-ID: <4DA49504.3030208@dirk.my1.cc> (raw)
In-Reply-To: <6b4c9a4d-075c-4805-8fad-bacecb24e9de@w7g2000pre.googlegroups.com>
Am 12.04.2011 19:17 schrieb allstars:
> hi
> first I know rebase on remote branch is bad idea
> so I am here asking for suggestions if you can kindly provide some
>
> in my server I got two branches , master and release ,
> and release is branched from master
>
> 0---0---0---0-- master
> \
> 0---0-- release
>
> our work mainly focus on master, so we will keep committing code to
> master
> for some reasons, release branch is for others, and it has some
> commits that master doesn't have
>
> and now in every week, we have some stable code in master branch
> so we also want the release branch also has these new code
>
> 0---0---0---0---*---*---* master
> \
> 0---0-- release
>
> how should we do now??
>
> currently our way is doing rebase in our local pc
>
> 0---0---0---0---*---*---* master
> \
> 0'---0'-- release
> in release branch
> $>git rebase master
>
> but in that way when we want to push the release branch back
> it will fail because it's non-fast-forward updates
> so we doing git push -f origin release to force it to 'rebase' on our
> remote server
>
>
> or if we use cherry-pick model
>
> 0---0---0---0---*---*---* master
> \
> 0---0---*---*---* release
>
> but in this case , how do we do it in script?
> I mean, how do we know we need to start cherry-pick from the 1st '*'
> to the 3rd '*' in master
>
> more precisely , if A to E represents the commit SHA1
>
> 0---0---0---0---A---B---C---D---E master
> \
> 0---0---A'---B'---C' release
>
> the 3 cherry-picks A' B' C' on release branch won't have the same SHA1
> for A B C in master
> how can we know effectively we need to start cherry-pick from C to E
> on master
>
>
> thanks
>
Hi,
if you have:
0---0---0---X---A---B---C---D---E master
\
0---0 release
then you could do
$ git rebase --onto release X master
to get this:
0---0---0---X---A---B---C---D---E master
\
0---0---A'---B'---C'---D'---E' release
IOW, it rebases everything between X (w/o X itself) and master (which is
E, including E) onto release.
Or, with
$ git rebase --onto release X C
you would get:
0---0---0---X---A---B---C---D---E master
\
0---0---A'---B'---C' release
HTH.
Dirk
next prev parent reply other threads:[~2011-04-12 18:08 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-12 17:17 rebase on remote branch allstars
2011-04-12 18:08 ` Dirk Süsserott [this message]
2011-04-12 18:50 ` Antriksh Pany
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4DA49504.3030208@dirk.my1.cc \
--to=newsletter@dirk.my1.cc \
--cc=allstars.chh@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.