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
Creating named stashes
📖 Scenario: You are working on a project and need to temporarily save your changes without committing them. You want to save these changes with a clear name so you can find them later easily.
🎯 Goal: Learn how to create a named stash in Git to save your work temporarily with a descriptive label.
📋 What You'll Learn
Create a file with changes
Create a named stash with a specific message
List stashes to verify the named stash
Show the stash list output
💡 Why This Matters
🌍 Real World
Developers often need to pause their work and switch tasks. Named stashes help save work with clear labels to return to later.
💼 Career
Knowing how to manage stashes with names is useful for developers and DevOps engineers to handle code changes efficiently without losing work.
Progress0 / 4 steps
1
Create a file with changes
Create a file called feature.txt and add the text Initial feature work inside it.
Git
Hint
Use the echo command to write text into a file.
2
Create a named stash
Use the git stash push command with the -m option to create a stash named feature update.
Git
Hint
Use git stash push -m 'your message' to create a named stash.
3
List all stashes
Use the git stash list command to show all saved stashes.
Git
Hint
Use git stash list to see all stashes with their names.
4
Show the stash list output
Run the program and show the output of git stash list which should include the stash named feature update.
Git
Hint
The output should show the stash with the message 'feature update'.
Practice
(1/5)
1. What is the main benefit of creating a named stash in Git?
easy
A. It automatically commits your changes to the main branch.
B. It helps you remember what changes you saved by adding a message.
C. It deletes all your untracked files before saving changes.
D. It merges your changes directly into the remote repository.
Solution
Step 1: Understand what a stash does
A stash saves your current work temporarily without committing it.
Step 2: Recognize the purpose of naming a stash
Giving a stash a name or message helps you remember what changes it contains.
Final Answer:
It helps you remember what changes you saved by adding a message. -> Option B
Quick Check:
Named stash = clear message [OK]
Hint: Named stashes add messages to remember saved changes easily [OK]
Common Mistakes:
Thinking stash commits changes permanently
Confusing stash with branch creation
Assuming stash deletes files permanently
2. Which of the following is the modern correct command to create a named stash with the message "fix bug"?
easy
A. git stash save "fix bug"
B. git stash add -m "fix bug"
C. git stash create "fix bug"
D. git stash push -m "fix bug"
Solution
Step 1: Recall the modern syntax for named stashes
The correct command uses git stash push -m "message" to create a named stash.
Step 2: Check each option for correctness
git stash push -m "fix bug" matches the correct syntax exactly; others use outdated or invalid commands.
Final Answer:
git stash push -m "fix bug" -> Option D
Quick Check:
Named stash command = git stash push -m [OK]
Hint: Use 'git stash push -m "message"' for named stashes [OK]
Common Mistakes:
Using 'git stash save' which is deprecated
Using 'git stash create' which does not name stashes
Using 'git stash add' which is invalid
3. What will be the output of the command git stash list after running git stash push -m "update readme"?
medium
A. stash@{0}: WIP on main: update readme
B. Error: stash message not saved.
C. No stash entries found.
D. stash@{0}: On main: update readme
Solution
Step 1: Understand what 'git stash push -m' does
This command creates a stash with the message "update readme".
Step 2: Check the format of 'git stash list' output
Named stashes show as stash@{0}: WIP on main: update readme.
Final Answer:
stash@{0}: WIP on main: update readme -> Option A
Quick Check:
Named stash list shows WIP on branch: message [OK]
Hint: Named stash appears in list as 'WIP on branch: message' [OK]
Common Mistakes:
Thinking named stashes lack 'WIP on' prefix
Thinking stash list is empty after push
Assuming error when message is given
4. You tried to create a named stash with git stash push -m fix typo but got an error. What is the likely cause?
medium
A. The message must be enclosed in quotes.
B. The command 'git stash push' does not support messages.
C. You need to add '--message' instead of '-m'.
D. You must commit changes before stashing.
Solution
Step 1: Identify the syntax error in the command
The message contains spaces and must be enclosed in quotes to be treated as one argument.
Step 2: Understand correct usage of message option
Using -m "fix typo" is correct; missing quotes causes error.
Final Answer:
The message must be enclosed in quotes. -> Option A
Quick Check:
Message with spaces needs quotes [OK]
Hint: Always quote stash messages with spaces [OK]
Common Mistakes:
Omitting quotes around multi-word messages
Using wrong option like '--message'
Thinking stash requires committed changes
5. You have multiple stashes saved with names. How can you apply the stash named "feature update" without removing it from the stash list?
hard
A. git stash apply -m "feature update"
B. git stash pop -m "feature update"
C. git stash apply stash^{/feature update}
D. git stash apply feature update
Solution
Step 1: Understand how to reference named stashes
Named stashes can be referenced using stash^{/message} syntax to match the message.
Step 2: Choose the correct command to apply without removing
git stash apply applies without removing; pop removes. git stash apply stash^{/feature update} uses correct syntax.
Final Answer:
git stash apply stash^{/feature update} -> Option C
Quick Check:
Apply named stash with 'stash^{/message}' [OK]
Hint: Use 'stash^{/message}' to apply named stash without popping [OK]