git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "W. Trevor King" <wking@tremily.us>
Cc: Git <git@vger.kernel.org>
Subject: Re: [PATCH v2 05/15] user-manual: Add a few references to 'git rebase -i'
Date: Sun, 10 Feb 2013 13:53:45 -0800	[thread overview]
Message-ID: <7vzjzbsumu.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: <4931d9fc83155b29787a3d33a7ac87dbfaa04795.1360508415.git.wking@tremily.us> (W. Trevor King's message of "Sun, 10 Feb 2013 10:10:31 -0500")

"W. Trevor King" <wking@tremily.us> writes:

> From: "W. Trevor King" <wking@tremily.us>
>
> I think this interface is much more convenient than extended cherry
> picking or using 'git format-patch'.  Inserting a number of references
> should raise awareness among new users.  The previously discussed
> methods (cherry picking and format-patch-ing) are still useful,
> because all of these approaches have the same effect, which may help
> demystify the process for newbies.
>
> Signed-off-by: W. Trevor King <wking@tremily.us>
> ---
>  Documentation/user-manual.txt | 21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
>
> diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt
> index a8f792d..5d80b40 100644
> --- a/Documentation/user-manual.txt
> +++ b/Documentation/user-manual.txt
> @@ -2532,6 +2532,13 @@ return mywork to the state it had before you started the rebase:
>  $ git rebase --abort
>  -------------------------------------------------
>  
> +If you need to reorder or edit a number of commits in a branch, it may
> +be easier to use `git rebase -i`, which allows you to reorder and
> +squash commits, as well as marking them for individual editing during
> +the rebase.  See linkgit:git-rebase[1] for details, and
> +<<reordering-patch-series>> for alternatives.
> +
> +

This change is very good (modulo the extra blank line at the end).

>  [[rewriting-one-commit]]
>  Rewriting a single commit
>  -------------------------
> @@ -2546,10 +2553,10 @@ $ git commit --amend
>  which will replace the old commit by a new commit incorporating your
>  changes, giving you a chance to edit the old commit message first.
>  
> -You can also use a combination of this and linkgit:git-rebase[1] to
> -replace a commit further back in your history and recreate the
> -intervening changes on top of it.  First, tag the problematic commit
> -with
> +You can also use a combination of `commit --amend` and
> +linkgit:git-rebase[1] (see <<using-git-rebase>>) to replace a commit
> +further back in your history and recreate the intervening changes on
> +top of it.  First, tag the problematic commit with

I think this section can use a lot more love.  There is no reason to
have "bad" tag (tagging the tip of mywork might have made sense in
the old days without detached HEAD or reflog), for example.

Alternatively, we can explain only the amending of the tip commit in
this section, removing everything else; I think that is probably a
better option.  The series of sections around here would then look
like:

 * The section before this talked about a straight-forward "rebase";

 * This section then talks about "commit --amend", nothing else;

 * The next section talks about taking "format-patch A..B", flipping
   its output around and applying to A.  Enhance that section with
   the material to be removed from here, which talks about applying
   "format-patch A..B" on top of the amended A.

 * Then add a separate section after that "Reordering or selecting
   from a patch series" section to discuss "rebase -i".

Hmm?

>  -------------------------------------------------
>  $ git tag bad mywork~5
> @@ -2584,6 +2591,12 @@ new commits having new object names.
>  Reordering or selecting from a patch series
>  -------------------------------------------
>  
> +There are a number of ways you can go about editing an existing patch
> +series.  The easiest way is probably by using `git rebase -i`,
> +mentioned in <<using-git-rebase>>, but whether you use
> +linkgit:git-rebase[1] or one of the methods discussed below, the
> +effect is the same.  Pick whichever approach you like best.
> +
>  Given one existing commit, the linkgit:git-cherry-pick[1] command
>  allows you to apply the change introduced by that commit and create a
>  new commit that records it.  So, for example, if "mywork" points to a

  reply	other threads:[~2013-02-10 21:54 UTC|newest]

Thread overview: 97+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-08 16:43 [PATCH] user-manual: Rewrite git-gc section for automatic packing W. Trevor King
2013-02-08 17:36 ` Junio C Hamano
2013-02-08 18:35   ` W. Trevor King
2013-02-08 23:04     ` Junio C Hamano
2013-02-08 23:04     ` Junio C Hamano
2013-02-10 15:10       ` [PATCH v2 00/15] User manual updates W. Trevor King
2013-02-10 15:10         ` [PATCH v2 01/15] user-manual: Rewrite git-gc section for automatic packing W. Trevor King
2013-02-10 15:10         ` [PATCH v2 02/15] user-manual: Update for receive.denyCurrentBranch=refuse W. Trevor King
2013-02-10 21:24           ` Junio C Hamano
2013-02-10 21:46             ` W. Trevor King
2013-02-10 22:36               ` Junio C Hamano
2013-02-14 18:57                 ` Junio C Hamano
2013-02-17 17:06                   ` W. Trevor King
2013-02-18  0:15                     ` [PATCH v3 0/9] User manual updates W. Trevor King
2013-02-18  0:15                       ` [PATCH v3 1/9] user-manual: Use 'remote add' to setup push URLs W. Trevor King
2013-02-18  1:58                         ` Junio C Hamano
2013-02-18  2:15                           ` Jonathan Nieder
2013-02-18  0:15                       ` [PATCH v3 2/9] user-manual: Reorganize the reroll sections, adding 'git rebase -i' W. Trevor King
2013-02-18  2:23                         ` Junio C Hamano
2013-02-18  2:39                           ` W. Trevor King
2013-02-18  3:48                             ` Junio C Hamano
2013-02-18  0:15                       ` [PATCH v3 3/9] user-manual: Give 'git push -f' as an alternative to +master W. Trevor King
2013-02-18  2:24                         ` Junio C Hamano
2013-02-18  0:15                       ` [PATCH v3 4/9] user-manual: Mention 'git remote add' for remote branch config W. Trevor King
2013-02-18  2:26                         ` Junio C Hamano
2013-02-18  2:41                           ` W. Trevor King
2013-02-18  0:15                       ` [PATCH v3 5/9] user-manual: Standardize backtick quoting W. Trevor King
2013-02-25 22:53                         ` [PATCH v5] " W. Trevor King
2013-02-18  0:15                       ` [PATCH v3 6/9] user-manual: Use 'git config --global user.*' for setup W. Trevor King
2013-02-18  2:47                         ` Junio C Hamano
2013-02-18 12:12                           ` W. Trevor King
2013-02-18  0:15                       ` [PATCH v3 7/9] user-manual: Use request-pull to generate "please pull" text W. Trevor King
2013-02-18  2:50                         ` Junio C Hamano
2013-02-18  0:16                       ` [PATCH v3 8/9] user-manual: Flesh out uncommitted changes and submodule updates W. Trevor King
2013-02-18  2:53                         ` Junio C Hamano
2013-02-19  9:35                           ` W. Trevor King
2013-02-18  0:16                       ` [PATCH v3 9/9] user-manual: Use -o latest.tar.gz to create a gzipped tarball W. Trevor King
2013-02-18  2:58                         ` Junio C Hamano
2013-02-18 12:16                           ` W. Trevor King
2013-02-18  8:56                       ` [PATCH v3 0/9] User manual updates Junio C Hamano
2013-02-18 12:27                         ` W. Trevor King
2013-02-18 13:00                   ` [PATCH v2 02/15] user-manual: Update for receive.denyCurrentBranch=refuse Drew Northup
2013-02-18 21:26                     ` Junio C Hamano
2013-02-10 15:10         ` [PATCH v2 03/15] user-manual: Use 'remote add' to setup push URLs W. Trevor King
2013-02-10 21:33           ` Junio C Hamano
2013-02-10 21:54             ` W. Trevor King
2013-02-10 22:08               ` Jonathan Nieder
2013-02-10 22:19                 ` W. Trevor King
2013-02-10 22:45               ` Junio C Hamano
2013-02-10 22:57                 ` W. Trevor King
2013-02-10 15:10         ` [PATCH v2 04/15] user-manual: Use git branch --merged W. Trevor King
2013-02-10 21:37           ` Junio C Hamano
2013-02-10 21:56             ` W. Trevor King
2013-02-10 15:10         ` [PATCH v2 05/15] user-manual: Add a few references to 'git rebase -i' W. Trevor King
2013-02-10 21:53           ` Junio C Hamano [this message]
2013-02-10 22:00             ` W. Trevor King
2013-02-10 15:10         ` [PATCH v2 06/15] user-manual: Give 'git push -f' as an alternative to +master W. Trevor King
2013-02-10 22:00           ` Junio C Hamano
2013-02-10 22:04             ` W. Trevor King
2013-02-10 23:19             ` Junio C Hamano
2013-02-10 15:10         ` [PATCH v2 07/15] user-manual: Mention 'git remote add' for remote branch config W. Trevor King
2013-02-10 22:08           ` Junio C Hamano
2013-02-10 22:09           ` Junio C Hamano
2013-02-10 22:22             ` W. Trevor King
2013-02-10 15:10         ` [PATCH v2 08/15] user-manual: Standardize backtick quoting W. Trevor King
2013-02-10 15:22           ` W. Trevor King
2013-02-10 15:10         ` [PATCH v2 09/15] user-manual: Use 'git config --global user.*' for setup W. Trevor King
2013-02-10 22:12           ` Junio C Hamano
2013-02-10 22:25             ` W. Trevor King
2013-02-10 22:48               ` Junio C Hamano
2013-02-10 22:52                 ` W. Trevor King
2013-02-10 15:10         ` [PATCH v2 10/15] user-manual: Fix 'both: so' -> 'both; so' typo W. Trevor King
2013-02-10 15:10         ` [PATCH v2 11/15] user-manual: Fix 'http' -> 'HTTP' typos W. Trevor King
2013-02-10 15:10         ` [PATCH v2 12/15] user-manual: Use request-pull to generate "please pull" text W. Trevor King
2013-02-10 22:23           ` Junio C Hamano
2013-02-10 22:29             ` W. Trevor King
2013-02-10 15:10         ` [PATCH v2 13/15] user-manual: Fix 'you - Git' -> 'you--Git' typo W. Trevor King
2013-02-10 15:10         ` [PATCH v2 14/15] user-manual: Flesh out uncommitted changes and submodule updates W. Trevor King
2013-02-10 15:10         ` [PATCH v2 15/15] user-manual: Use --format=tar.gz to create a gzipped tarball W. Trevor King
2013-02-10 22:27           ` Junio C Hamano
2013-02-10 22:32             ` W. Trevor King
2013-02-10 22:52               ` Junio C Hamano
2013-02-10 23:01                 ` W. Trevor King
2013-02-10 22:31         ` [PATCH v2 00/15] User manual updates Junio C Hamano
2013-02-10 22:36           ` W. Trevor King
2013-02-19  9:34             ` [PATCH v3 0/9] " W. Trevor King
2013-02-19 10:04               ` [PATCH v4 0/3] " W. Trevor King
2013-02-19 10:05                 ` [PATCH v4 1/3] user-manual: Reorganize the reroll sections, adding 'git rebase -i' W. Trevor King
2013-02-19 18:47                   ` Junio C Hamano
2013-02-19 18:51                     ` W. Trevor King
2013-02-19 20:56                       ` Junio C Hamano
2013-03-24 12:23                         ` [PATCH] user-manual: Fix the interactive rebase example commit range W. Trevor King
2013-03-24 20:00                           ` Eric Sunshine
2013-03-24 20:22                             ` W. Trevor King
2013-02-19 10:05                 ` [PATCH v4 2/3] user-manual: Use request-pull to generate "please pull" text W. Trevor King
2013-02-19 10:05                 ` [PATCH v4 3/3] user-manual: Flesh out uncommitted changes and submodule updates W. Trevor King
2013-02-09  1:13 ` [PATCH] user-manual: Rewrite git-gc section for automatic packing Javier Tia

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=7vzjzbsumu.fsf@alter.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=wking@tremily.us \
    /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).