Re: [PATCH] Show an example of deleting commits with git-rebase.
Show 47 quoted lines
> Quoting Shawn O. Pearce <spearce@spearce.org>:
> Subject: [PATCH] Show an example of deleting commits with git-rebase.
>
> This particular use of git-rebase to remove a single commit or a
> range of commits from the history of a branch recently came up on
> the mailing list. Documenting the example should help other users
> arrive at the same solution on their own.
>
> It also was not obvious to the newcomer that git-rebase is able to
> accept any commit for --onto <newbase> and <upstream>. We should
> at least minimally document this, as much of the language in
> git-rebase's manpage refers to 'branch' rather than 'committish'.
>
> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
> ---
> Documentation/git-rebase.txt | 27 +++++++++++++++++++++++++--
> 1 files changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/git-rebase.txt b/Documentation/git-rebase.txt
> index 0cb9e1f..977f661 100644
> --- a/Documentation/git-rebase.txt
> +++ b/Documentation/git-rebase.txt
> @@ -114,6 +114,27 @@ would result in:
>
> This is useful when topicB does not depend on topicA.
>
> +A range of commits could also be removed with rebase. If we have
> +the following situation:
> +
> +------------
> + E---F---G---H---I---J topicA
> +------------
> +
> +then the command
> +
> + git-rebase --onto topicA~5 topicA~2 topicA
> +
> +would result in the removal of commits F and G:
> +
> +------------
> + E---H'---I'---J' topicA
> +------------
> +
> +This is useful if F and G were flawed in some way, or should not be
> +part of topicA. Note that the argument to --onto and the <upstream>
> +parameter can be any valid commit-ish.
> +
Good clarification, a couple of comments:
- The use of <branch> is more confusing than useful in this case.
You can always just do
git reset --hard topicA
git-rebase --onto topicA~5 topicA~2
instead, correct?
- The use of ~ notation here is also more scary than clarifying.
git-rebase --onto F H
will be clearer I think.
--
MST