Tech SkillsUndoing Changes

Reset vs Revert Question Explained

This worked Git Fundamentals practice question tests Undoing Changes. Try the answer first, then review why B is the best choice.

Short answer

The correct answer is B. git revert <commit>.

git revert creates a new commit that undoes the old commit without rewriting shared history. reset --hard is risky on shared branches because it rewrites history. The key is to match the exact action in the prompt to the tool, command, or concept that performs that action directly. Here, B. git revert <commit> is the only option that satisfies the scenario without adding unrelated behavior.

The Question

You pushed a bad commit to a shared branch and want a safe public undo. Which command is usually best?

Agit reset --hard HEAD~1
Bgit revert <commit>Correct
Crm -rf .git
Dgit stash pop

Why B is correct

git revert creates a new commit that undoes the old commit without rewriting shared history. reset --hard is risky on shared branches because it rewrites history. The key is to match the exact action in the prompt to the tool, command, or concept that performs that action directly. Here, B. git revert <commit> is the only option that satisfies the scenario without adding unrelated behavior.

Why the other options are wrong

Option A: git reset --hard HEAD~1

Option A does not match the requirement in the prompt. The correct answer is B because git revert creates a new commit that undoes the old commit without rewriting shared history. reset --hard is risky on shared branches because it rewrites history.

Option C: rm -rf .git

Option C does not match the requirement in the prompt. The correct answer is B because git revert creates a new commit that undoes the old commit without rewriting shared history. reset --hard is risky on shared branches because it rewrites history.

Option D: git stash pop

Option D does not match the requirement in the prompt. The correct answer is B because git revert creates a new commit that undoes the old commit without rewriting shared history. reset --hard is risky on shared branches because it rewrites history.

Key idea: Undoing Changes

Undoing Changes questions test whether you can connect a common workflow problem to the right practical command, service, or concept. Instead of memorizing isolated definitions, look for the job being done in the prompt: staging a file, querying rows, running code, persisting container data, checking a service, or choosing the right cloud building block. The best answer usually names the simplest tool that performs that job directly. For Git Fundamentals, the safest study pattern is to read the scenario, underline the action verb, and eliminate answers that solve a different problem. If an option sounds related but changes the scope, adds risk, or describes a different layer of the stack, it is probably a distractor. After choosing an answer, explain why the other three fail; that habit builds the practical judgment these quizzes are meant to measure.

Ready to test the full skill?

Take the free Git Fundamentals quiz and find the exact basics to review next. No signup required.

Practice related questions

Same skill area or adjacent concept. Use these after reviewing the explanation.

Related Git Fundamentals Practice Questions