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
--
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