Interactive Git Stash

Often times I have the need to stash some changes in git but don't want to stash everything.

The solution is to use git stash -p. The -p instructs git to do a stash interactively and will iterate over each changed hunk one at a time and instruct git what to do.

These are the options:

y - stash this hunk  
n - do not stash this hunk  
q - quit; do not stash this hunk or any of the remaining ones  
a - stash this hunk and all later hunks in the file  
d - do not stash this hunk or any of the later hunks in the file  
g - select a hunk to go to  
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk  
J - leave this hunk undecided, see next hunk  
k - leave this hunk undecided, see previous undecided hunk  
K - leave this hunk undecided, see previous hunk  
s - split the current hunk into smaller hunks  
e - manually edit the current hunk  
? - print help