Git Stashing Explained
Stashing Changes
When working on a project, you might find yourself in a situation where you need to switch branches or pull updates from a remote repository, but you have uncommitted changes that you don't want to lose. This is where Git's stashing feature comes in handy. Stashing allows you to temporarily save your changes without committing them, so you can work on something else and come back to your changes later.
To stash your changes, you can use the following command:
git stash
This command saves your modified tracked files and staged changes to a new stash and reverts your working directory to match the HEAD commit. If you want to include untracked files in your stash, you can use:
git stash -u
Recovering Stashed Changes
When you're ready to continue working on your stashed changes, you can apply them back to your working directory. To see a list of all your stashes, use:
git stash list
This will display a list of stashes, each with an identifier like stash@{0}
, stash@{1}
, and so on. To apply the most recent stash, use:
git stash apply
If you want to apply a specific stash, you can specify its identifier:
git stash apply stash@{0}
Dropping a Stash
Once you have applied a stash and no longer need it, you can remove it from the stash list. To drop the most recent stash, use:
git stash drop
To drop a specific stash, specify its identifier:
git stash drop stash@{0}
Popping a Stash
If you want to apply a stash and remove it from the stash list in one step, you can use the pop
command:
git stash pop
This command applies the most recent stash and then drops it. To pop a specific stash, specify its identifier:
git stash pop stash@{0}
By using these commands, you can effectively manage your uncommitted changes and keep your workflow smooth and organized.
Subscribe to my newsletter
Read articles from David Carr directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
David Carr
David Carr
Blogger at http://dcblog.dev.