Using TortoiseGit’s Stash Feature to Temporarily Save Work Without the Command Line
Learn how to use TortoiseGit’s Stash feature to temporarily save uncommitted changes via a simple right‑click menu, with a step‑by‑step example and notes on limits.
20 Aug 2026, 06:11 UTC

Problem: Switching contexts leaves unfinished work in the way
You are fixing a bug, have edited several files, and suddenly need to pull in an urgent upstream change. Your working tree is dirty, so a simple git pull would fail or create a messy merge. You want to set aside your changes quickly, without opening a terminal or remembering complex git stash options.
Thesis: TortoiseGit’s built‑in Stash menu gives a safe, GUI‑driven way to save and restore work while staying inside Windows Explorer.
How the feature works
TortoiseGit adds a Stash submenu to the right‑click context menu for any folder that is a Git repository. The menu mirrors the core Git commands:
- Save… – runs
git stash push(optionally with--include-untracked). - List – shows
git stash listin the revision log. - Apply – runs
git stash apply. - Pop – runs
git stash pop. - Drop – runs
git stash drop.
The stash entries appear in TortoiseGit’s Show Log view under a special “Stashes” branch, each labelled with the default WIP message WIP on <branch>: <commit‑summary>. From there you can inspect, apply, or drop a stash with another right‑click.
Worked example: stashing uncommitted changes
- Prepare – Ensure you have write access to the repository folder. Make some edits to a tracked file (e.g.,
src\app.js) and optionally create a new untracked file (notes.txt). - Stash – Right‑click the repository root → TortoiseGit → Stash → Save…. In the dialog, check Include untracked files if you want
notes.txtsaved, then click OK. No command‑line knowledge is required. - Verify – After the dialog closes, the working tree should show no pending changes (the file icons revert to normal). Open TortoiseGit → Show Log; you will see a new entry under the Stashes branch, e.g.,
WIP on main: 3f8c1ae Add feature toggle. - Restore – Right‑click that stash entry in the log → Apply Stash (or Pop Stash if you also want to remove it from the stack). The edited files reappear with their previous modifications, and the untracked file is restored if you included it.
- Repeat – You can create a second stash with a different set of changes; the log will show two entries, and applying them will follow LIFO order, just like
git stash apply stash@{0}.
Trade‑offs and limitations
- Scope – Stash only works on the current branch. If you are in the middle of a merge or rebase, the stash operation may produce unexpected results; finish or abort those actions first.
- Conflict risk – Applying a stash after divergent changes can cause conflicts that must be resolved manually, identical to the command‑line behavior.
- Advanced options hidden – The GUI does not expose flags such as
--keep-indexor--patch. For those scenarios you must drop to the command line. - No visual diff of stash contents – While you can view the stash commit in the log, seeing a side‑by‑side diff of what is stored requires
git stash show -pfrom a terminal.
Practical way to check the result
After applying a stash, run a quick status check from the Explorer context menu: TortoiseGit → Check for Modifications. The dialog should list exactly the files you expect to have changed, with no extra entries. If you see unexpected modifications, resolve them before proceeding.
Closing: Use the stash when you need a clean tree fast
TortoiseGit’s Stash menu gives you a low‑friction, click‑based way to shelve work, keep your working tree clean, and return later—all without leaving the familiar Windows Explorer interface. Remember the branch limitation and the possibility of conflicts, and you’ll have a reliable tool for everyday context switching.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.