Master Git Stash: Switch Tasks Without Losing Your Work
This guide explains how to use git stash to temporarily save uncommitted changes, switch branches, and restore work later, covering common commands, options for selective stashing, and the differences between stashing and committing.
First Step of New Feature Development
Before starting, ensure the local repository is up‑to‑date by pulling the latest changes. git pull Check the working directory and index for uncommitted changes: git status If there are changes you want to keep, stash them: git stash Switch to the target branch: git checkout master Pull the latest code: git pull origin master Create a temporary branch for the new task: git checkout -b xxx Now you can develop safely on the new branch.
Effective Use of git stash
git stashsaves uncommitted modifications to a stack and restores the working tree to the last commit, allowing you to switch contexts without losing work.
You can add a message to a stash: git stash save "test1" List saved stashes: git stash list Typical output shows entries like stash@{0} (most recent) and stash@{1} (earlier).
Restore the most recent stash and remove it from the list: git stash pop To apply without removing: git stash apply 0 Clear all stashes: git stash clear Stash only selected hunks: git stash -p Include untracked files: git stash -u Include ignored files as well:
git stash -aWhen to Use git stash
Need to switch branches for an urgent task while keeping current work.
Working on an incomplete feature you don’t want to commit yet.
Want a clean working tree before pulling latest changes or performing cleanup.
Difference Between stash and commit
git stashtemporarily hides changes without affecting the repository history; it’s like putting your work in a drawer. git commit records a snapshot permanently in the project history, visible to others.
Conclusion
Various ways exist to handle interruptions; choose the one you prefer, such as stashing or working in a separate folder, to keep your development flow smooth.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Liangxu Linux
Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
