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?
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 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 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 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.