Re: [PATCH/RFC] Documentation: Two more git-rebase --onto examples
- From
Junio C Hamano <junkio@cox.net>
- Date
- Nov 5, 2006, 01:08 UTC
- Message-ID
- <7vbqnmwvib.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <200611042205.58212.jnareb@gmail.com>
Jakub Narebski <jnareb@gmail.com> writes:
> I asked for comments because I'm not native English speaker and I'm not > sure about correctness of descriptions of added examples.
Ok.
> +More useful example of --onto option usage include transplanting feature > +branch from one development branch to other, for example change to branch > +based off "next" branch:
By "more" do you mean the following examples are more useful than the one before, or having larger number of examples adds to the usefulness of the document overall?
How about:
Here is how you would transplant a topic branch based on one
branch to another, to pretend that you forked the topic branch
from the latter branch, using `rebase --onto`.First let's assume your 'topic' is based on branch 'next'.
------------
o---o---o---o---o master
\
o---o---o---o---o next
\
o---o---o topic
------------We would want to make 'topic' forked from branch 'master', like this:
Show 15 quoted lines
> +------------ > + o---o---o---o---o master > + | \ > + | o'--o'--o' topic > + \ > + o---o---o---o---o next > +------------ > + > +We can get this using the following command: > + > + git-rebase --onto master next topic > + > + > +Yet another example of use for --onto option is to rebase part of > +branch. If we have the following situation:
This looks the same as the original example for --onto; I would either drop it or replace it something of different flavor.
What I find myself doing more is to reorder without using StGIT. When I have this:
1---2---3---4 topic
and 2 is a bit half-baked, and I would want to have:
1---3'--4'--2' topic
I would usually do this while on "topic":
git tag -f CG ;# "commit goal"
git rebase --onto CG~3 CG~2 ;# plant 3 4 on top of 1
git cherry-pick CG~2
git diff CG ;# verify that the result matchesIn ascii art, that is:
3'--4' / 1---2---3---4 CG
then
3'--4'--2' topic / 1---2---3---4 CG