Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Why Stashing Saves Work Temporarily in Git
📖 Scenario: You are working on a project using Git. You started making changes to a file but suddenly need to switch to another task on a different branch. You want to save your current changes safely without committing them yet.
🎯 Goal: Learn how to use Git stash to save your current work temporarily, switch branches, and then restore your saved changes later.
📋 What You'll Learn
Create a new file with some content
Make changes to the file
Use git stash to save changes temporarily
Switch to another branch
Restore the stashed changes
💡 Why This Matters
🌍 Real World
Developers often need to pause their current work to fix urgent bugs or switch branches. Stashing lets them save unfinished work safely without committing incomplete changes.
💼 Career
Knowing how to use git stash is essential for developers and DevOps engineers to manage code changes efficiently and avoid losing work during multitasking.
Progress0 / 4 steps
1
Initialize repo, create a new file and make initial commit
Initialize a Git repository, create a file named notes.txt and add the line Hello, this is my first note. to it, then add and commit the file.
Git
Hint
Use git init to create a repo, echo > file to write to file, git add and git commit -m "msg".
2
Make changes to the file
Add the line Adding a second line to notes.txt to the file notes.txt without deleting the first line.
Git
Hint
Use >> to append text to a file.
3
Save changes temporarily using git stash and switch branches
Use git stash to save your current changes temporarily, then create and switch to a new branch named urgent.
Git
Hint
Run git stash to save changes, then git checkout -b urgent to switch branches.
4
Switch back and restore stashed changes
Switch back to the main branch and use git stash pop to restore your saved changes.
Git
Hint
Use git checkout main to switch back, then git stash pop to restore and remove the stash.
Practice
(1/5)
1. What is the main purpose of git stash in Git?
easy
A. To merge two branches automatically
B. To permanently delete untracked files
C. To save your current changes temporarily without committing
D. To create a new branch from the current one
Solution
Step 1: Understand what git stash does
git stash saves your current working changes temporarily without committing them to the branch.
Step 2: Compare with other options
The other options describe different Git commands or actions unrelated to stashing.
Final Answer:
To save your current changes temporarily without committing -> Option C
Quick Check:
Stashing = Temporary save without commit [OK]
Hint: Stash = save work now, come back later [OK]
Common Mistakes:
Thinking stash commits changes permanently
Confusing stash with branch creation
Assuming stash deletes files
2. Which of the following is the correct command to save your current changes temporarily in Git?
easy
A. git save
B. git commit -m 'temp'
C. git push stash
D. git stash
Solution
Step 1: Recall the correct syntax for stashing
The correct command to save changes temporarily is git stash.
Step 2: Check other options for correctness
git save and git push stash are invalid commands. git commit -m 'temp' commits changes permanently, not temporarily.
Final Answer:
git stash -> Option D
Quick Check:
Temporary save command = git stash [OK]
Hint: Remember: stash means temporary save [OK]
Common Mistakes:
Using git save instead of git stash
Confusing commit with stash
Trying to push stash as a branch
3. Given the following commands run in order:
git stash git checkout main git stash pop
What happens after git stash pop?
medium
A. Your saved changes are restored and removed from stash
B. Your changes are permanently deleted
C. You switch back to the previous branch automatically
D. A new stash is created with the same changes
Solution
Step 1: Understand the commands sequence
git stash saves changes temporarily, git checkout main switches branch, and git stash pop restores saved changes and removes them from stash.
Step 2: Analyze the effect of git stash pop
This command applies the saved changes back to the working directory and deletes the stash entry.
Final Answer:
Your saved changes are restored and removed from stash -> Option A
Quick Check:
Stash pop = restore + remove stash [OK]
Hint: Pop restores stash and deletes it [OK]
Common Mistakes:
Thinking stash pop deletes changes permanently
Assuming branch switches back automatically
Believing stash pop creates a new stash
4. You ran git stash but later realize your changes are missing after switching branches. What is the most likely mistake?
medium
A. You forgot to run git stash pop to restore changes
B. You committed the changes instead of stashing
C. You deleted the stash manually before switching branches
D. You ran git stash apply instead of git stash
Solution
Step 1: Understand what git stash does
git stash saves changes temporarily but does not restore them automatically.
Step 2: Identify why changes are missing
If you switch branches without restoring stash using git stash pop or git stash apply, changes stay hidden in stash.
Final Answer:
You forgot to run git stash pop to restore changes -> Option A
Quick Check:
Stash saves but does not restore automatically [OK]
Hint: Stash saves; pop or apply restores [OK]
Common Mistakes:
Assuming stash auto-restores on branch switch
Confusing stash with commit
Deleting stash accidentally
5. You have uncommitted changes in your current branch but need to switch to another branch to fix a bug. Which sequence of commands correctly saves your work temporarily and restores it after fixing the bug?