git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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

  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

  List information: http://vger.kernel.org/majordomo-info.html

* 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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).