Bird
Raised Fist0
Gitdevops~3 mins

Why git stash list to view stashes? - Purpose & Use Cases

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
The Big Idea

What if you could save your unfinished work instantly and never lose track of it?

The Scenario

Imagine you are working on a project and suddenly need to switch tasks quickly. You have some unfinished changes, but you want to save them temporarily without committing. You try to remember all the changes manually or copy files around.

The Problem

Manually saving changes by copying files or notes is slow and confusing. You might forget what you saved or overwrite important work. It's easy to lose track of your progress and waste time trying to restore your work later.

The Solution

The git stash list command shows all your saved changes (stashes) in one place. It helps you quickly see what you saved and when, so you can pick the right stash to restore. This keeps your work safe and organized without cluttering your project history.

Before vs After
Before
Copy changed files to a separate folder and write notes about them.
After
git stash push -m "work in progress"
git stash list
What It Enables

You can easily pause your work, switch tasks, and come back later without losing any changes.

Real Life Example

A developer is fixing a bug but needs to quickly check another branch. They stash their current changes, use git stash list to confirm the stash is saved, switch branches, and return later to continue smoothly.

Key Takeaways

Manual saving is slow and risky.

git stash list shows all saved changes clearly.

This keeps your work safe and easy to manage.

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