git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 4/4] doc: git-reset: clarify `git reset <pathspec>`

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 30, 2025, 05:23 UTC
Message-ID
<xmqqwm24fsq4.fsf@gitster.g>
In-Reply-To
<d6582dc53ca852ef01421d2dd2c446dadb731dad.1766103827.git.ben.knoble+github@gmail.com>
"D. Ben Knoble" <ben.knoble+github@gmail.com> writes:
Show 7 quoted lines
>  `git reset (--patch | -p) [<tree-ish>] [--] [<pathspec>...]`::
> -	Interactively select hunks in the difference between the index
> -	and _<tree-ish>_ (defaults to `HEAD`).  The chosen hunks are applied
> -	in reverse to the index.
> +	Interactively select changes from the difference between the index
> +	and the specified commit or tree (which defaults to `HEAD`).
> +	The chosen changes are added to the index.

The previous iteration said "changes are unstaged", implying that the changes are removed from the index. But now it says the changes are added to the index. Which one?

I think neither is correct. I wasn't involved in the design of the behaviour of "reset -p", but IIUC,

    git reset -p
    git reset -p HEAD

show "git diff --cached HEAD" (i.e., what damage you will cause if you commit what is in the index), so chosen hunks will be reverted out of the index if you say "y" to "reset -p" prompt.

On the other hand, 
    git reset -p COMMIT

for COMMIT that is not HEAD gives "git diff -R --cached COMMIT" (i.e., the changes to take you closer to the named commit), so chosen hunks will participate in the next commit if you commit after completing this "reset -p" session.

    The contents in the index are modified using the chosen hunks.
is the best description I can come up with.

The actual prompt asks "unstage this hunk?" when operating against HEAD, while the prompt changes to "apply this hunk to index?" when opeating against a commit that is not HEAD, so it might be simpler not to say anything about the direction of the application (i.e., how the chosen hunks are used to modify the index) in this paragraph, like the above example, may be a viable option.

Previous: D. Ben KnobleNext: D. Ben Knoble
Message 25 of 39 in “doc: git-reset: clarify DESCRIPTION section”
  1. 0/4 doc: git-reset: clarify DESCRIPTION sectionJulia Evans via GitGitGadget, Oct 17, 2025
  2. 1/4 doc: git-reset: reorder the formsJulia Evans via GitGitGadget, Oct 17, 2025
  3. Junio C HamanoOct 17, 2025
  4. Julia EvansOct 20, 2025
  5. 2/4 doc: git-reset: clarify introJulia Evans via GitGitGadget, Oct 17, 2025
  6. Junio C HamanoOct 17, 2025
  7. Julia EvansOct 20, 2025
  8. Junio C HamanoOct 20, 2025
  9. D. Ben KnobleOct 20, 2025
  10. Julia EvansDec 3, 2025
  11. 3/4 doc: git-reset: clarify `git reset [mode]`Julia Evans via GitGitGadget, Oct 17, 2025
  12. Junio C HamanoOct 18, 2025
  13. Julia EvansOct 20, 2025
  14. D. Ben KnobleOct 20, 2025
  15. Junio C HamanoOct 20, 2025
  16. 4/4 doc: git-reset: clarify `git reset <pathspec>`Julia Evans via GitGitGadget, Oct 17, 2025
  17. Junio C HamanoOct 17, 2025
  18. Ben KnobleOct 18, 2025
  19. Junio C HamanoOct 18, 2025
  20. 0/4 doc: git-reset: clarify DESCRIPTION sectionD. Ben Knoble, Dec 19, 2025
  21. 1/4 doc: git-reset: reorder the formsD. Ben Knoble, Dec 19, 2025
  22. 2/4 doc: git-reset: clarify introD. Ben Knoble, Dec 19, 2025
  23. 3/4 doc: git-reset: clarify `git reset [mode]`D. Ben Knoble, Dec 19, 2025
  24. 4/4 doc: git-reset: clarify `git reset <pathspec>`D. Ben Knoble, Dec 19, 2025
  25. Junio C HamanoDec 30, 2025
  26. D. Ben KnobleJan 1, 2026
  27. 0/4 doc: git-reset: clarify DESCRIPTION sectionD. Ben Knoble, Jan 1, 2026
  28. 1/4 doc: git-reset: reorder the formsD. Ben Knoble, Jan 1, 2026
  29. 2/4 doc: git-reset: clarify introD. Ben Knoble, Jan 1, 2026
  30. Jean-Noël AVILAJan 2, 2026
  31. 3/4 doc: git-reset: clarify `git reset [mode]`D. Ben Knoble, Jan 1, 2026
  32. Jean-Noël AVILAJan 2, 2026
  33. 4/4 doc: git-reset: clarify `git reset <pathspec>`D. Ben Knoble, Jan 1, 2026
  34. 0/4 doc: git-reset: clarify DESCRIPTION sectionD. Ben Knoble, Jan 5, 2026
  35. 1/4 doc: git-reset: reorder the formsD. Ben Knoble, Jan 5, 2026
  36. 2/4 doc: git-reset: clarify introD. Ben Knoble, Jan 5, 2026
  37. 3/4 doc: git-reset: clarify `git reset [mode]`D. Ben Knoble, Jan 5, 2026
  38. 4/4 doc: git-reset: clarify `git reset <pathspec>`D. Ben Knoble, Jan 5, 2026
  39. Junio C HamanoJan 7, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.