Seth Falcon <sethfalcon@xxxxxxxxx> writes: > I don't think I understand what an --exclude=<pattern> option would > do, but I'm pretty sure it doesn't help the use case I'm thinking of: > > Editing away, you've made changes in 8 files. > > Reviewing diff, you want to commit 6 of those and continue working > on the other two. > > It seems that there could be a less manual way than > git update-index f1 f2 ... f6 > > > Hmm, maybe I could do: > > git diff --name-only > changed > ## edit changed > cat changed|xargs git update-index > > I suppose this could be wrapped in a simple way to bring up an editor. Note that output of cat piped to anything is almost always a bad programming ;-) Maybe the "git add --interactive" would give you a transcript like this: $ git add --interactive '*.c' '*.h' showing list of modified files... 1) bozbar.c 2) filfre.c 3) frotz.h 4) nitfol.c 5) rezrov.h 6) xyzzy.c 7) yomin.h 8) z.c choice> 2 3 5 6 7 showing list of modified files... 1) bozbar.c 2* filfre.c 3* frotz.h 4) nitfol.c 5* rezrov.h 6* xyzzy.c 7* yomin.h 8) z.c choice> 4+ showing "git diff -- nitfol.c"... diff --git a/nitfol.c b/nitfol.c @@ -22,x +22,y @@ { - int i; + long i; + i = 314; stage this hunk [Yes/No/All/Done]? y ... The latter half is to come up with a subset of diff and then run "git-apply --cached" to update only the index with the chosen hunks. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html