Andrew Thorp [off-list ref] writes:
quoted
What did you do before the bug happened? (Steps to reproduce your issue)
Edit a checked-in file, adding multiple chunks of lines to the file.
Using `git add -p <file>`, stage one of the chunks, leave some chunks unstaged.
After running `git status` the file should both in the section
`Changes to be committed:` and `Changes not staged for commit`.
Commit the changes.
How was the last "commit the changes" done exactly?
If either "git commit -a" or "git commit <file>" was done, that
would explain the symptom of having the entire up-to-date contents
of <file> in the working tree recorded in the resulting commit. The
former tells "take all changes in the working tree", the latter
tells "take the version of <file> in the working tree as a whole",
to Git to create a commit out of.
"git commit" without pathspec would have made a partial commit that
records only the changes that were added with "git add -p" to the
index, though.