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.
Go deeper
Related to this question
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 →
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.