Re: [PATCH/RFC] Documentation: Two more git-rebase --onto examples

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jakub Narebski <jnareb@xxxxxxxxx> 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:

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

In ascii art, that is:

	  3'--4'
	 /
	1---2---3---4 CG

then


	  3'--4'--2' topic
	 /
	1---2---3---4 CG

-
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]