问题
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.
回答1:
How can I commit the change for test() only, and avoid committing removeThis() ?
That's simple.
Enter
add -i
mode, then select5: [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.
来源:https://stackoverflow.com/questions/2372583/untangle-two-lines-with-git-add-p