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
next prev 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.