I have a lot of files changed in my project. I want to stash 2 files but i\'m a bit afraid to make a mistake since i never did this.
If i would stash now, will it only s
I'm also looking for a way to stash only a few items from my working copy and I stumbled upon this question. I found a workaround that was mentioned in the official Atlassian forums. I tried it using SourceTree version 3.3.8 for Windows and it works for me.
To stash select files:
Stage the files you want to stash
Then stash all files, but making sure that 'Keep staged changes' is checked
Now you only have the files you want to stash in your current working copy
Stash all files, with 'Keep staged changes' unchecked
You can then re-apply the first stash, and discard the files that you wanted to stash.
This applies to Git in general, not just with SourceTree. When you stash changes, the items that will be stashed are the changes to tracked files in your working copy and in the staging area. Those changes will be saved in the stash, and reverted in the working copy and index.
When you choose to keep changes in the index/staging area, those changes will still be stashed, but Git won't also revert them in the staging area. This is useful if, for example, you make several unrelated changes, and you want to run tests only some of those changes, without having the unrelated ones affect the test.
Stashing is safe. If you want to get your stashed changes back, you just pop them back out of the stash.
However, untracked files aren't normally stashed. If you want to also stash those files, you need to pass an additional option to git stash
on the command line (SourceTree for Windows doesn't currently have such an option. I don't know if the same is true for the Mac version):
git stash save --include-untracked
# Or shorter
git stash save -u
Yes, but stashing in this case would mean two scenarios -
Checking the Keep staged changes: staged files would still be in your staging area, but all your modified unsaved files will be stashed.
Without checking the staged changes: all your files will be stashed.