By default, git stash
only stashes modified and staged tracked files. If you wish to also include untracked files then you could simply append the --include-untracked
(or -u
shorthand) flag to the git stash
command:
git stash --include-untracked git stash -u
This would include all tracked and untracked files.
Note, however, that this will exclude explicitly ignored files (as defined in .gitignore
). You may force-add ignored files and then stash them, or alternatively, you may stash all files (including tracked, untracked and ignored files).
You can also use the git add
command to start tracking the untracked files, and following that you can use the git stash
command to stash all the tracked files, for example, in the following way:
git add path/to/untracked-file git stash
Please note that by default, git add
will exclude explicitly ignored files (as defined in .gitignore
). You can, however, force-add ignored files and then stash them.
Sometimes a pattern within your .gitignore
might be causing a file to be ignored when you're trying to git stash
it. If you suspect that being the case, then you can find the pattern in .gitignore
that's causing that file to be ignored.
This post was published (and was last revised ) by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.