git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Julia Evans via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: "Chris Torek" <chris.torek@gmail.com>,
	"D. Ben Knoble" <ben.knoble@gmail.com>,
	"Jean-Noël AVILA" <jn.avila@free.fr>,
	"Julia Evans" <julia@jvns.ca>
Subject: [PATCH v3 0/3] doc: git-add: clarify DESCRIPTION section
Date: Tue, 19 Aug 2025 20:46:07 +0000	[thread overview]
Message-ID: <pull.1952.v3.git.1755636370.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1952.v2.git.1755127218.gitgitgadget@gmail.com>

 * Emphasize "contents" more than "files" in the introduction
 * Delete the terminology note, and just keep a single parenthetical "(also
   known as "staging area")"
 * Be more explicit about what "By default" means
 * Don't mention git diff --cached, mentioning more and more related
   commands felt like it was starting to get messy (what about git diff?
   what about git reset? what about git rm?).
 * Leave the "This command can be performed multiple times before a
   commit"... paragraph alone since the only 2 users who commented on it
   said it was clear and helpful already.
 * Move "Please see linkgit:git-commit[1].." back to the end, where it used
   to be

Julia Evans (2):
  doc: git-add: clarify intro & add an example
  doc: git-add: simplify discussion of ignored files

Junio C Hamano (1):
  Git 2.51

 Documentation/git-add.adoc | 34 ++++++++++++++++------------------
 GIT-VERSION-GEN            |  2 +-
 2 files changed, 17 insertions(+), 19 deletions(-)


base-commit: e5ab6b3e5a3f0a94a429526e0fe6f491955ac053
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1952%2Fjvns%2Fclarify-add-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1952/jvns/clarify-add-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/1952

Range-diff vs v2:

 -:  ----------- > 1:  c44beea485f Git 2.51
 1:  d041d09589b ! 2:  080720c0599 doc: git-add: start man page with an example
     @@ Metadata
      Author: Julia Evans <julia@jvns.ca>
      
       ## Commit message ##
     -    doc: git-add: start man page with an example
     +    doc: git-add: clarify intro & add an example
      
     -    - Replace the intro paragraph of the `git-add` man page with an
     -      example to try to clarify it for new users. The goal here is use less
     -      jargon but communicate essentially the same information.
     -    - Give an example of how to add only part of the changes to the file
     -    - Remove the snapshot-based explanation of the index and replace it with
     -      a diff-based explanation because I don't feel that it's useful in this
     -      context to emphasize  that git uses a snapshot-based model: the main
     -      way most git users interact with the index is through `git diff` or
     -      `git status`, which is a completely diff-based view of the index.
     +    - Add a basic example of how "git add" is normally used
     +    - It's not technically true that you *must* use the `add` command to
     +      add changes before running `git commit`, because `git commit -a`
     +      exists. Instead say that you *can* use the `add` command.
     +    - Mention early on that "index" is another word for "staging area",
     +      since Git very rarely uses the word "index" in its output
     +      (`git status`) uses the term "staged", and many Git users are
     +      unfamiliar with the term "index"
     +    - Remove "It typically adds" (it's not clear what "typically" means),
     +      and instead mention that `git add -p` can be used to add
     +      partial contents
     +    - Currently the introduction is somewhat repetitive ("to prepare the
     +      content staged for the next commit" ... "this snapshot that is taken
     +      as the contents of the next commit."), replace with a single sentence
     +      ("The "index" [...] is where Git stores the contents of the next
     +      commit.")
      
          Signed-off-by: Julia Evans <julia@jvns.ca>
      
       ## Documentation/git-add.adoc ##
     -@@ Documentation/git-add.adoc: git-add(1)
     - 
     - NAME
     - ----
     --git-add - Add file contents to the index
     -+git-add - Add new or changed files to the index
     - 
     - SYNOPSIS
     - --------
      @@ Documentation/git-add.adoc: git add [--verbose | -v] [--dry-run | -n] [--force | -f] [--interactive | -i] [-
       
       DESCRIPTION
     @@ Documentation/git-add.adoc: git add [--verbose | -v] [--dry-run | -n] [--force |
      -after making any changes to the working tree, and before running
      -the commit command, you must use the `add` command to add any new or
      -modified files to the index.
     -+Add new or changed files to the index to prepare for a commit. The
     -+"index" (also known as "staging area") is where Git stores the changes
     -+that will be in the next commit.
     ++Add contents of new or changed files to the index. The "index" (also
     ++known as "staging area") is where Git stores the contents of the next
     ++commit.
      +
     -+By default, `git commit` only commits changes that you've added to the
     -+index. For example, if you've edited `file.c` and want to commit your
     -+changes, you can run:
     ++When you run `git commit` without any other arguments, it will only
     ++commit staged changes. For example, if you've edited `file.c` and want
     ++to commit your changes to that file, you can run:
      +
      +   git add file.c
      +   git commit
      +
      +You can also add only part of your changes to a file with `git add -p`.
     -+Please see linkgit:git-commit[1] for alternative ways to add content to
     -+a commit.
       
       This command can be performed multiple times before a commit.  It only
       adds the content of the specified file(s) at the time the add command is
     -@@ Documentation/git-add.adoc: directory recursion or filename globbing performed by Git (quote your
     - globs before the shell) will be silently ignored.  The `git add` command can
     - be used to add ignored files with the `-f` (force) option.
     - 
     --Please see linkgit:git-commit[1] for alternative ways to add content to a
     --commit.
     --
     --
     - OPTIONS
     - -------
     - `<pathspec>...`::
 2:  63c9e0361dc ! 3:  fc2ec305a9e doc: git-add: simplify discussion of ignored files
     @@ Commit message
      
          - Mention the --force option earlier
          - Remove the explanation of shell globbing vs git's internal glob
     -      system, it's a common gotcha but I don't think this is an appropriate
     -      place to explain that concept. There's some discussion of the gotchas
     -      around globbing and `git add` in the EXAMPLES section which I think
     -      is clearer.
     +      system, since users are confused by it and there's a clearer
     +      discussion in the EXAMPLES section.
      
          Signed-off-by: Julia Evans <julia@jvns.ca>
      
     @@ Documentation/git-add.adoc: you must run `git add` again to add the new content
      -directory recursion or filename globbing performed by Git (quote your
      -globs before the shell) will be silently ignored.  The `git add` command can
      -be used to add ignored files with the `-f` (force) option.
     -+`git add` will not add ignored files by default. You can use the
     -+`--force` option to add ignored files. If you explicitly specify the
     -+exact filename of an ignored file (e.g. `git add ignored.txt`), `git
     -+add` will fail with a list of ignored files. Otherwise it will silently
     -+ignore the file.
     ++The `git add` command will not add ignored files by default. You can
     ++use the `--force` option to add ignored files. If you specify the exact
     ++filename of an ignored file, `git add` will fail with a list of ignored
     ++files. Otherwise it will silently ignore the file.
       
     - OPTIONS
     - -------
     + Please see linkgit:git-commit[1] for alternative ways to add content to a
     + commit.
 3:  ce1eafb0286 < -:  ----------- doc: git-add: make explanation less dry
 4:  9e595f9ad59 < -:  ----------- doc: git-add: explain inconsistent terminology

-- 
gitgitgadget

  parent reply	other threads:[~2025-08-19 20:46 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-12 20:07 [PATCH 0/5] doc: git-add: clarify DESCRIPTION section Julia Evans via GitGitGadget
2025-08-12 20:07 ` [PATCH 1/5] doc: git-add: remove options from SYNOPSIS Julia Evans via GitGitGadget
2025-08-12 20:41   ` Junio C Hamano
2025-08-13 16:58     ` Julia Evans
2025-08-13 20:47   ` Jean-Noël AVILA
2025-08-12 20:07 ` [PATCH 2/5] doc: git-add: start man page with an example Julia Evans via GitGitGadget
2025-08-12 21:01   ` Junio C Hamano
2025-08-12 21:40     ` Julia Evans
2025-08-12 22:12       ` Junio C Hamano
2025-08-12 22:45         ` Julia Evans
2025-08-13 17:22       ` D. Ben Knoble
2025-08-14  0:41       ` Junio C Hamano
2025-08-14  2:59         ` Julia Evans
2025-08-15  5:38           ` Junio C Hamano
2025-08-12 20:07 ` [PATCH 3/5] doc: git-add: simplify discussion of ignored files Julia Evans via GitGitGadget
2025-08-13 17:24   ` D. Ben Knoble
2025-08-12 20:07 ` [PATCH 4/5] doc: git-add: make explanation less dry Julia Evans via GitGitGadget
2025-08-12 20:07 ` [PATCH 5/5] doc: git-add: explain inconsistent terminology Julia Evans via GitGitGadget
2025-08-12 20:51   ` Chris Torek
2025-08-12 21:36     ` Junio C Hamano
2025-08-12 21:43       ` Julia Evans
2025-08-13 23:20 ` [PATCH v2 0/4] doc: git-add: clarify DESCRIPTION section Julia Evans via GitGitGadget
2025-08-13 23:20   ` [PATCH v2 1/4] doc: git-add: start man page with an example Julia Evans via GitGitGadget
2025-08-15  0:38     ` Junio C Hamano
2025-08-15 13:34       ` Jean-Noël AVILA
2025-08-15 16:33         ` Junio C Hamano
2025-08-17 18:37           ` Jean-Noël AVILA
2025-08-19 20:01             ` Julia Evans
2025-08-13 23:20   ` [PATCH v2 2/4] doc: git-add: simplify discussion of ignored files Julia Evans via GitGitGadget
2025-08-14  0:59     ` D. Ben Knoble
2025-08-14 22:10     ` Junio C Hamano
2025-08-13 23:20   ` [PATCH v2 3/4] doc: git-add: make explanation less dry Julia Evans via GitGitGadget
2025-08-14 22:22     ` Junio C Hamano
2025-08-15 16:10       ` Julia Evans
2025-08-15 18:25         ` D. Ben Knoble
2025-08-15 20:01           ` Junio C Hamano
2025-08-16 14:15             ` D. Ben Knoble
2025-08-15 19:47         ` Junio C Hamano
2025-08-19 12:57           ` Julia Evans
2025-08-21 20:36             ` Jean-Noël AVILA
2025-08-13 23:20   ` [PATCH v2 4/4] doc: git-add: explain inconsistent terminology Julia Evans via GitGitGadget
2025-08-14 22:49     ` Junio C Hamano
2025-08-19 20:09       ` Julia Evans
2025-08-19 20:46   ` Julia Evans via GitGitGadget [this message]
2025-08-19 20:46     ` [PATCH v3 1/3] Git 2.51 Junio C Hamano via GitGitGadget
2025-08-19 21:06       ` rsbecker
2025-08-19 21:37         ` Junio C Hamano
2025-08-19 21:44           ` D. Ben Knoble
2025-08-19 21:48             ` Julia Evans
2025-08-19 21:49           ` rsbecker
2025-08-19 20:46     ` [PATCH v3 2/3] doc: git-add: clarify intro & add an example Julia Evans via GitGitGadget
2025-08-21 20:08       ` Junio C Hamano
2025-08-22 20:37         ` Julia Evans
2025-08-19 20:46     ` [PATCH v3 3/3] doc: git-add: simplify discussion of ignored files Julia Evans via GitGitGadget
2025-08-21 20:09       ` Junio C Hamano
2025-08-29 11:55     ` [PATCH v4 0/2] doc: git-add: clarify DESCRIPTION section Julia Evans via GitGitGadget
2025-08-29 11:55       ` [PATCH v4 1/2] doc: git-add: clarify intro & add an example Julia Evans via GitGitGadget
2025-08-29 11:55       ` [PATCH v4 2/2] doc: git-add: simplify discussion of ignored files Julia Evans via GitGitGadget
2025-08-29 17:11       ` [PATCH v4 0/2] doc: git-add: clarify DESCRIPTION section Junio C Hamano

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=pull.1952.v3.git.1755636370.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=ben.knoble@gmail.com \
    --cc=chris.torek@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=jn.avila@free.fr \
    --cc=julia@jvns.ca \
    /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.
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 NNTP newsgroup(s).