Bird
Raised Fist0
Gitdevops~3 mins

git stash list to view stashes - Commands & Configuration

Choose your learning style10 modes available

Start learning this pattern below

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
Introduction
Sometimes you need to save your work temporarily without committing it. Git stash lets you do that. The command git stash list shows all the saved work snapshots you have stored.
When you want to switch branches but have unfinished changes you don't want to commit yet
When you need to quickly save your current work and try something else without losing progress
When you want to clean your working directory temporarily but keep your changes safe
When you want to see all your saved work snapshots before deciding which one to apply
When you want to manage multiple sets of changes saved for later use
Commands
This command shows all the saved stashes with their names and descriptions so you can see what work you saved before.
Terminal
git stash list
Expected OutputExpected
stash@{0}: WIP on main: 1a2b3c4 Fix header layout stash@{1}: WIP on feature-branch: 5d6e7f8 Add login button
Key Concept

If you remember nothing else from this pattern, remember: git stash list shows all your saved work snapshots so you can manage them easily.

Common Mistakes
Running git stash list without having any stashes saved
The command will show no output, which might confuse you into thinking it failed.
Make sure you have saved stashes using git stash before running git stash list.
Confusing git stash list output with branch names
Stashes are not branches; they are temporary saved changes and have different naming.
Understand that stash@{0}, stash@{1}, etc., are saved snapshots, not branches.
Summary
git stash list shows all saved stashes with their descriptions.
Use it to check what work you saved temporarily before applying or dropping.
It helps you manage multiple saved changes without committing them.

Practice

(1/5)
1. What does the command git stash list do in Git?
easy
A. Applies the latest stash to the working directory
B. Deletes all stashes permanently
C. Shows all saved stashes with their names and messages
D. Creates a new stash from current changes

Solution

  1. Step 1: Understand the purpose of git stash list

    This command is used to display all the stashes saved in the repository, showing their names and messages.
  2. Step 2: Differentiate from other stash commands

    Unlike commands that create, apply, or delete stashes, git stash list only shows the list without changing anything.
  3. Final Answer:

    Shows all saved stashes with their names and messages -> Option C
  4. Quick Check:

    View stashes = git stash list [OK]
Hint: Use git stash list to see all saved stashes quickly [OK]
Common Mistakes:
  • Confusing list with apply or drop commands
  • Thinking it deletes or creates stashes
  • Expecting it to show file changes inside stash
2. Which of the following is the correct syntax to view all stashes in Git?
easy
A. git stash show
B. git stash list
C. git stash view
D. git stash display

Solution

  1. Step 1: Recall the exact command to list stashes

    The correct command to list all stashes is git stash list.
  2. Step 2: Verify other options are invalid

    git stash show shows details of one stash, not the list; git stash view and git stash display are not valid Git commands.
  3. Final Answer:

    git stash list -> Option B
  4. Quick Check:

    List stashes = git stash list [OK]
Hint: Remember: 'list' shows all stashes, not 'show' or 'view' [OK]
Common Mistakes:
  • Using 'git stash show' to list all stashes
  • Typing 'git stash view' which is invalid
  • Confusing 'list' with 'show'
3. Given the following output from git stash list:
stash@{0}: WIP on main: 123abc Fix header
stash@{1}: WIP on feature: 456def Add login
stash@{2}: WIP on main: 789ghi Update footer
What is the message of the stash at stash@{1}?
medium
A. Add login
B. Fix header
C. Update footer
D. WIP on main

Solution

  1. Step 1: Identify the stash index and message

    The stash at stash@{1} shows the message after the colon, which is 'Add login'.
  2. Step 2: Confirm the message corresponds to the correct stash

    Other stashes have different messages: stash@{0} is 'Fix header', stash@{2} is 'Update footer'.
  3. Final Answer:

    Add login -> Option A
  4. Quick Check:

    Message at stash@{1} = 'Add login' [OK]
Hint: Read stash index carefully; message follows the colon [OK]
Common Mistakes:
  • Mixing stash indexes and messages
  • Choosing the branch name instead of message
  • Ignoring the stash number format
4. You ran git stash list but got no output, even though you recently stashed changes. What is the most likely reason?
medium
A. Git stash list only shows uncommitted changes
B. You used git stash list incorrectly with extra arguments
C. Your stashes were deleted automatically after applying
D. You are in a different repository without stashes

Solution

  1. Step 1: Check repository context

    If git stash list shows nothing, you might be in a different repository where no stashes exist.
  2. Step 2: Evaluate other options

    Using extra arguments would cause an error, not empty output; stashes are not deleted automatically unless dropped; git stash list shows saved stashes, not uncommitted changes.
  3. Final Answer:

    You are in a different repository without stashes -> Option D
  4. Quick Check:

    No output means no stashes in current repo [OK]
Hint: Check current repo; no stashes means empty list [OK]
Common Mistakes:
  • Assuming stashes auto-delete after apply
  • Expecting git stash list to show uncommitted changes
  • Using wrong command syntax causing silent failure
5. You have multiple stashes saved. You want to apply the second stash shown in git stash list without removing it from the stash list. Which command should you use?
hard
A. git stash apply stash@{1}
B. git stash pop stash@{1}
C. git stash drop stash@{1}
D. git stash list stash@{1}

Solution

  1. Step 1: Understand the difference between apply and pop

    git stash apply applies a stash but keeps it in the list; git stash pop applies and removes it.
  2. Step 2: Identify correct command to apply second stash

    To apply the second stash, use git stash apply stash@{1}. git stash drop deletes the stash, and git stash list stash@{1} is invalid syntax.
  3. Final Answer:

    git stash apply stash@{1} -> Option A
  4. Quick Check:

    Apply without removing = git stash apply [OK]
Hint: Use apply to keep stash, pop to remove after applying [OK]
Common Mistakes:
  • Using pop which deletes stash after applying
  • Trying to list a specific stash with wrong syntax
  • Dropping stash instead of applying