Two scenarios
1) You care about the uncommited code
Lets say you are trying to add a new feature but you are lost and you want to start it from fresh, also don't want to lose whatever you have done till now. So that you can get that code anytime.
git stash list
(check if anything in the stash, if you want to clear the stash then then clear it using
git stash clear)
git stash ( to add uncommited code into stash)
Now you have a fresh new start, you can apply the code in stash anytime.
git stash apply <name of the stash>
2) You don't care about the uncommited code
git reset --hard HEAD
Everything in the stash will wipe out. And you can not recover it, if that what you want.