This command temporarily shelves uncommitted changes, including new files, while keeping changes that have been added to the index (staging area).
The -k flag keeps the index untouched while stashing only the working directory changes. This is useful if you want to stash only the unstaged changes.
Variations of the command include using -u to stash untracked files as well or -a to stash all files including those ignored by .gitignore.