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

Re: git 1.8.0.rc0.18.gf84667d trouble with "git commit -p file"

From
Frans Klaver <fransklaver@gmail.com>
Date
Oct 5, 2012, 19:55 UTC
Message-ID
<op.wlp1lws70aolir@keputer>
In-Reply-To
<201210051420.q95EKjj3008300@netbook1.inf.utfsm.cl>

On Fri, 05 Oct 2012 16:20:45 +0200, Horst H. von Brand <vonbrand@inf.utfsm.cl> wrote:

Show 8 quoted lines
> What I did:
>
> - New file images/coins.asy ~~-> 'git add images/coins.asy'
> - Started adding new stuff to fg.tex
> - Noticed a old bug in fg.tex, fixed that one
> - Did 'git -pm "Some message"' and selected just the bugfix
>
> But git created a commit _including_ the new file. Tried to go back:

Exactly what's supposed to happen. "git add" tells git you want to add the file to the index. The index is what you're going to commit later on. So what you did there was

- Tell git to add images/coins.asy to the next commit
- hack hack hack
- fix old_bug
- Add old_bug chunks of code to next commit && create commit
Show 10 quoted lines
>
> - 'git reset HEAD^'
>
> Now the new file isn't staged anymore
>
>
> What I expected to happen:
>
> - Only the explicitly selected chunks commited
> - No "losing staged changes"

As explained above, you didn't lose staged changes, you staged more changes and committed. Then you use git reset to go back to the state of HEAD^, where the file wasn't tracked and therefore not staged either.

So you're back at square one[1], commit the bug fix, then add the bugfixes in a commit and stage the new file for inclusion in your next commit.

Hope this helps, Frans

[1] Arguably two, since you still have changes lying around.
Previous: Horst H. von BrandNext: Junio C Hamano
Message 2 of 16 in “git 1.8.0.rc0.18.gf84667d trouble with "git commit -p file"”
  1. Horst H. von BrandOct 5, 2012
  2. Frans KlaverOct 5, 2012
  3. Junio C HamanoOct 5, 2012
  4. Jeff KingOct 5, 2012
  5. Junio C HamanoOct 6, 2012
  6. Jeff KingOct 6, 2012
  7. Junio C HamanoOct 6, 2012
  8. Jeff KingOct 6, 2012
  9. Conrad IrwinOct 6, 2012
  10. Jeff KingOct 6, 2012
  11. Junio C HamanoOct 7, 2012
  12. Jeff KingOct 7, 2012
  13. Junio C HamanoOct 7, 2012
  14. Jeff KingOct 7, 2012
  15. Conrad IrwinOct 11, 2012
  16. Junio C HamanoOct 11, 2012

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.