Hi Edgar, On 2015-04-22 10:30, edgar.hipp@xxxxxxxxxxx wrote: > When you have a lot of unstaged files, and would like to test what > happens if you undo some of the changes that you think are unecessary, > you would rather keep a copy of those changes somewhere. > > For example > > Changed but not updated: > M config_test.xml > M config_real.xml > > I have changed both config_test.xml and config_real.xml, but I think > the changes made in config_test.xml are unnecessary. However, I would > still like to keep them somewhere in case it breaks something. > > In this case for example, I would like to be able to stash only the > file config_test.xml > > Eg: > > git add config_test.xml > git stash --staged > > So that after this, my git looks like this: > > Changed but not updated: > M config_real.xml > > and my stash contains only the changes introduced in config_test.xml > > `git stash --keep-index` doesn't give the necessary control, because > it will still stash everything (and create unnecessary merge > complications if I change the files and apply the stash) I often have the same problem. How about doing this: ```sh git add config_real.xml git stash -k git reset ``` The difference between our approaches is that I keep thinking of the staging area as the place to put changes I want to *keep*, not that I want to forget for a moment. Having said that, I am sympathetic to your cause, although I would rather have `git stash [--patch] -- [<file>...]` that would be used like `git add -p` except that the selected changes are *not* staged, but stashed instead. Ciao, Johannes -- 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