On Tue, 14 Mar 2006, Paul Jakma wrote: > Hi, > > Dumb question, imagine you made changes to a few files, and ran update-index > at various stages in between: > > $ git status > # > # Updated but not checked in: > # (will commit) > # > # modified: foo/ChangeLog > # modified: foo/whatever > # modified: bar/ChangeLog > # modified: bar/other > > The changes in bar/ are unrelated to the changes in foo/ - how do you commit > each seperately? Git doesn't seem to want to let me: > > $ git commit -o bar > Different in index and the last commit: > M bar/ChangeLog > M bar/other > You might have meant to say 'git commit -i paths...', perhaps? > > git commit on its own wants to commit all the above files. > > what's the silly thing I've missed? You've already marked them all modified in the index (using git-update-index), so git commit thinks you are confused by naming them again and saying "only". The simplest thing to do is to do git reset to reset your index back to your HEAD (but obviously DON'T use the "-f" flag, which will also force the working tree!). That will make your index clean, and undo the fact that you've already marked things to be committed with "git-update-index". Then you can just do git commit -o bar and everything should be fine, because then git doesn't think you're doing something insane. Linus - : 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