Is there a way I can stash just my staged changes? The scenario I'm having issues with is when I've worked on several bugs at a given time, and have several unstaged changes. I'd like to be able to stage these files individually, create my .patch files, and stash them away until the code is approved. This way, when it's approved I can stash my entire (current) session, pop that bug and push the code.
Am I going about this the wrong way? Am I misunderstanding how git can work in other ways to simplify my process?
Yes, It's possible with DOUBLE STASH
git stash --keep-index
. This command will create a stash with ALL of your changes (staged and unstaged), but will leave the staged changes in your working directory (still in state staged).git stash push -m "good stash"
"good stash"
has ONLY staged files. Now if you need unstaged files before stash, simply apply first stash (the one created with --keep-index
) and now you can remove files you stashed to "good stash"
.
Enjoy