3 ms·
Magit allows selective staging/unstaging, either of hunks, or by selecting lines (AKA Emacs's "region"). I avoid staging from the git commandline, unless I'm ju
by chriswarbo 2mo ago
Magit allows selective staging/unstaging, either of hunks, or by selecting lines (AKA Emacs's "region"). I avoid staging from the git commandline, unless I'm just doing whole files.
PS: Majutsu provides this too (a magit-like tool for jj)
- rbjorklin 2mo agoNeogit, Magit inspired, does the same for Neovim. Would recommend!
- skydhash 2mo agoI think you can do the same with tig and lazyvim. Sometimes you just need interactivity.
- paustint 2mo agoVSCode also allows staging/unstaging specific hunks by hovering over the hunk near the left/right separator in diff view - super handy when I need it!
- PaulDavisThe1st 2mo agoThe per-line staging in magit is a frequent tool I use. I can be in the middle of bunch of other changes, change 1 line for a different reason that would otherwise be "mid-hunk", and the stage & commit it with its own explanation. It releases me from having to have the "discipline" to stay 100% focused on the broader task at hand and say "hmm, I should fix that while I'm here", without co-mingling purposefully different commits. Truly fantastic. Absurdly, I have no idea how to do this on the command line, though presumably it is possible from there too (just a lot, lot less convenient).
- cwillu 2mo agogit add -p or git add ‹file› -p
- PaulDavisThe1st 2mo agoNope. That doesn't offer per-line .. or does it ?
- nagaiaida 2mo agoe in interactive mode lets you directly edit the patch line by line, so it depends how you count popping open an editor
- dahart 2mo agoGit gui does per-line staging, and comes with git…