
Git-meld-index: Run meld or any Git difftool to interactively stage changes - davvid
https://github.com/jjlee/git-meld-index
======
sapek
Vim plugin Fugitive [1] effectively allows editing files in index.

[1] [http://vimcasts.org/episodes/fugitive-vim-working-with-
the-g...](http://vimcasts.org/episodes/fugitive-vim-working-with-the-git-
index/)

------
wazari972
That looks great, I'll give it a try at work!

Basically, if I understand well, it's a GUI over `git add -p`. Instead of the
CLI short diff, you get a `meld` instance that computes the diff between two
(virtual) directories, one with the modified files of your git, one with the
current index. And like `git -p`, you select what you want to add to the
index.

That seems great to have a global vision of modifications, and to be able to
navigate between the differents files to remember exactly what belongs to the
commit!

I had such a tool in mind since I discovered `git add -p`, thanks for working
on it!

~~~
thingification
It's not just "selecting" exactly but editing (see the README). git gui etc.
don't work quite this way I think:

Using the tool I'm finding I'm quite often clicking the right arrow to add a
hunk to the index, then just editing the right hand side to delete a few lines
or tweak what was edited somehow. This is a very "natural" way to stage just
what you want.

Also once it supports git reset -p like functionality and also editing the
working tree (see the README), I guess that visual editing workflow will get
more powerful.

------
onedognight
> navigate to a change without saying 'n' to every change you want to skip

This tool sounds great, but in case you didn't know, 'git add -p' supports '/'
to search for a matching hunk.

------
codemac
If you use emacs - make sure you're using magit!

------
fmela
SourceTree also has this functionality.

------
CuriousSkeptic
Why not just use 'git gui'?

~~~
scrollaway
Because this isn't the same thing. Did you really create an account just to
ask such a question?

~~~
kryptiskt
You can stage individual lines and hunks (and split up big hunks) in git gui.
So it's a valid question.

------
pencilcode
tig can also be used to stage changes.

