Untangle two lines with `git add -p`

git, git-add

Solution

How can I commit the change for test() only, and avoid committing removeThis() ?

That's simple.

Enter `add -i` mode, then select `5: [p]atch` by pressing pEnter.

Choose your file by entering its number and press Enter to start editing patches.

Press e to edit your hunk (you seem to have succesfully reached here by doing `git add -p` instead).

Delete the line with `removeThis()` completely, with `+` sign at the beginning as well. Do not touch anything else! The resultant text should look like a patch for the change you're committing.

Save the file and exit the editor.

The patch will apply well. I've just checked. Check again too--maybe it's another hunk that doesn't apply?

Other than that, your `,` symbols near the `+`/`-` look suspicious. Perhaps, your `patch` and `diff` programs are somehow out of sync? Try removing the `,`s from the hunk as well.

Problem

I've got a file with the following changes: ``` # Manual hunk edit mode -- see bottom for a quick guide @@ -280,6 +281,7 @@ if( foo ) { bla(); - test( true ); + removeThis(); + test( false ); } else ``` How can I commit the change for `test()` only, and avoid committing removeThis() ? Each time I try to edit the hunk manually git tells me it does not apply cleanly.

Original source