Untangle two lines with `git add -p`

℡╲_俬逩灬. 提交于 2019-12-03 11:53:21

问题


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.

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

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

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

  4. 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.

  5. 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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!