3 ms·
`git add -p` adds by the hunk, which is a unit of quantization bigger than a line. E.g. if you have two consecutive lines changed, it's not possible to split t
by theptip 9y ago
`git add -p` adds by the hunk, which is a unit of quantization bigger than a line.
E.g. if you have two consecutive lines changed, it's not possible to split them, they are one "hunk".
(Waiting for someone to chime in with how to split a hunk and change my life).
- YoyoyoPCP 9y agoYou use the 'e' option which allows you to edit the hunk. Remove the minus sign or the entire line with a '+'
- deleted 9y ago[deleted]
- lfrb 9y agoYou can use 's' to split a hunk but it would indeed not work if you want to split two consecutive lines. You can also use 'e' option to edit the hunk to e.g. remove one of the added line. Nothing as easy as clicking a line in a GUI though.
- deragent 9y agoWithin 'git add -p' when you get to the hunk that you want to edit (split down to single lines), press 'e'. This will open an editor (vim in my case) which lets you edit the diff manually. In there you can remove added lines (prefixed by '+') by removing them, and re-adding removed lines (prefixed by '-') by replacing the '-' with a space ' '.
- tigershark 9y agoAnd how is this faster/better than selecting a line with the mouse and pressing s without opening any other editor?
- gknoy 9y agoSometimes your changes are across multiple files, and it's easier to say, "yes, yes, yes, yes, split, no, no, yes, ..."
- RandomException 9y agoDo it in Vim (or emacs for those weirdos out there) and you're done before you would've even reached the mouse :)