No Relation To Blog
Subscribe to the personal musing of Emmanuel Bernard
tig and add interactive
Tig is a textual GUI for git which lets you manipulate your git repo like GitX or SourceTree but without leaving your terminal.
In particular, you can "graphically" do
git add --interactive.
I find it easier to do my chunk surgery when I only want to apply parts of a file change.
The documentation is a bit terse so let me give you a rundown.
s # to see the status view
k # to select the file diff to look at
enter # to see changes in that file, this is the stage view, alternatively hit
k # to navigate up and down the file lines
Select specific chunks
(go down to a specific chunk)
u # to select the whole chunk
! # to delete/reset the whole chunk change (you must be on the chunk header line) ; caution this change will be gone forever
Select specific lines
(in a chunk on a specific line)
1 (one) to add the specific line to stage
! and then
y to delete/reset the specific line ; caution this line will be gone forever
To undo the staging and remove the line, select the file in the
changes to be committed section
1 (one) to move the line back to the non-stage area
Shift+R to refresh the diff changes in case you update the file in your editor and want a updated diff
You can delete/reset changes to a whole file by hitting
! and then
y in the status view.
Make sure to select the right file as the changes will be gone forever.