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

Re: RFE: Discard hunks during `git add -p`

From
KKKonstantin Khomoutov <kostix+git@007spb.ru>
Date
Nov 2, 2016, 14:07 UTC
Message-ID
<20161102170749.eb04d1892fdf404bb5b2851d@domain007.com>
In-Reply-To
<alpine.LSU.2.20.1611021435280.21207@nerf40.vanv.qr>

On Wed, 2 Nov 2016 14:46:04 +0100 (CET) Jan Engelhardt <jengelh@inai.de> wrote:

Show 14 quoted lines
> Current version: 2.10.2
> Example workflow:
> 
> * I would do a global substitution across a source tree, e.g. `perl
> -i -pe 's{OLD_FOO\(x\)}{NEW_BAR(x, 0)}' *.c`
> * Using `git add -p`, I would verify each of the substitutions that
> they make sense in their respective locations, and, based on that,
>   answer "y" or "n" to the interactive prompting to stage good hunks.
> * When done with add-p, I would commit the so-staged hunks,
>   and then use `git reset --hard` to discard all changes that were 
>   not acknowledged during add-p.
> 
> Being able to discard hunks (reset working copy to index contents) 
> during add-p would alleviate the (quite broad) hard reset.
Couldn't you just do
  git checkout -- .
after staging your approved changes?

To selectively zap uncommitted changes from your working tree, you could do

  git checkout --patch -- .

I'm not sure overloading `git add` with a "reverse" action is a good idea. I'm actually prefer pragmatism over conceptual purity but I'm not sure the prospective gain here is clear.

Previous: Jan EngelhardtNext: Jeff King
Message 2 of 4 in “RFE: Discard hunks during `git add -p`”
  1. Jan EngelhardtNov 2, 2016
  2. Konstantin KhomoutovNov 2, 2016
  3. Jeff KingNov 2, 2016
  4. Jeff KingNov 2, 2016

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.