问题
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 -imode, then select5: [p]atchby 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 -pinstead).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