I am pretty sure this scenario happens to everyone a couple times during a development cycle, if they are working with source control and branching. You make changes, you commit those changes, you merge those changes to a different branch. You make more changes, you go to commit those changes, you realize you are still on that different branch. Now what?
In Visual Studio you cannot simply switch branches with changes that need to be committed. Because of the way Git manages the commit history, it could break or lose changes if this happened. Instead, you are presented with a lovely message:
Thankfully, there is a pretty simple approach that seems to work well for just this case: Stashing.
