Courseiva

200-901 Software Development and Design Practice Question

A developer is using Git to manage a project. They need to temporarily save changes that are not ready to be committed so they can switch to another branch. Which Git command should they use?

⚠ Common exam trap

Candidates often confuse temporary storage with committing or discarding changes; git stash is specifically for shelving work-in-progress.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

git stash

git stash is designed to temporarily save uncommitted changes, allowing a clean working directory to switch branches or perform other operations. It preserves the changes for later retrieval. The other commands either discard changes, create permanent commits, or do not save changes at all, making them unsuitable for this scenario.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    git commit -m 'WIP'

    Why it's wrong here

    Committing work-in-progress with a temporary message pollutes the commit history and may be undesirable if the changes are not ready. While it does allow switching branches, it is not a temporary save; the commit remains in history. git stash is preferred for temporary storage without affecting the commit log.

  • ✗

    git reset --hard

    Why it's wrong here

    git reset --hard discards all uncommitted changes, which is destructive and would lose the developer's work. It does not save changes; it reverts the working directory to the last commit. This is the opposite of what is needed when trying to preserve temporary changes for later.

  • ✓

    git stash

    Why this is correct

    git stash temporarily shelves changes in the working directory, allowing the developer to switch branches without committing incomplete work. It saves both staged and unstaged changes, and they can be reapplied later with git stash pop or git stash apply. This is ideal for quickly switching context without losing progress.

  • ✗

    git branch new-branch

    Why it's wrong here

    Creating a new branch does not save or isolate uncommitted changes. The changes remain in the working directory, and switching branches may carry them over or cause conflicts. This command is for creating a branch, not for stashing changes. It does not address the need to temporarily save work.

About these practice questions

This 200-901 question is part of Courseiva's 975-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Cisco exam blueprint

This 200-901 practice question is part of Courseiva's free Cisco certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 200-901 exam.