Thread (4 messages) flat view 4 messages, 2 authors, 2019-01-21

Re: git commits unstaged files

From: Johannes Schindelin <hidden>
Date: 2019-01-18 10:33:21

Hi Beenish,

On Thu, 17 Jan 2019, Khurshid, Beenish wrote:
I frequently use 'git add -p' to filter changes before committing. This
usually works, but on many occasions, the use of add and commit results
in unstaged chunks and files being committed.

Steps to reproduce:
1. Create unstaged changes
2. Use add -p to add some of those changes
3. Use git commit to commit the staged changes

Expectation: Only added chunks are committed.

Result:
1. When editing the commit message, the added files appear staged in the comments at the end of the commit message, and the unstage files appear unstaged. (expected behaviour)
2. All unstaged changes and files are committed.
3. Once git enters this state, even git add produces the same result: Using git add to only add some files (and not chunks), and subsequently committing, results in unstaged files also being committed.
4. Even after restarting git bash, the behaviour persists.
5. The same behaviour occurs when adding and committing a file, while leaving other files unstaged, when using Git GUI instead of Git Bash 

Environment:
Git version 2.12.2.windows.2
That's almost two years old. We're at v2.20.1.windows.1 now.
Windows 10 enterprise
Hooks: commit-msg, and pre-commit
Changes were being committed, reset, and rebased prior to this add -p attempt
I cannot reproduce.

FWIW I sometimes have the same problem, but in all those cases the problem
is my muscle memory that makes me add the `-a` option to `git commit`
before I can stop myself.
If more information is needed, please do not hesitate to contact me.
Since this is a significant part of my workflow, the failure of the
command to work in the expected way is fairly disruptive to my workflow.
You could investigate further by setting GIT_TRACE=1 to see whether any
other Git command is run from your hooks.

In any case, if you desire help, the best way forward would be to generate
a Minimal, Complete & Verifiable Example (MCVE,
https://stackoverflow.com/help/mcve) that in particular does not require
your particular setup such as hooks, specific Git version, etc.

Ciao,
Johannes
Any help or thoughts would be appreciated!

Kind Regards,
Beenish Khurshid, E.I.T I Applications Engineer
ANT Wireless | 124 - 30 Bow Street Common, Cochrane, AB, Canada T4C 2N1
P: 587.493.4156 | F: 403.932.6521


 

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help