200-901 Software Development and Design Practice Question
Which TWO of the following are valid branching strategies in Git? (Choose two.)
⚠ Common exam trap
Cisco often tests the distinction between Git operations (like rebase or merge) and actual branching strategies, so candidates mistakenly select 'Rebase-only' or 'Merge avoidance' as strategies when they are merely workflow tactics.
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
✓
Feature branching
Feature branching (C) is a valid Git branching strategy in which each new feature or user story is developed on its own dedicated branch (e.g., feature/login) and later integrated into the mainline via a pull/merge request, isolating work-in-progress from stable code. GitFlow (E) is a well-known branching model defined by Vincent Driessen that uses long-lived branches such as main/master and develop plus supporting branches (feature/*, release/*, hotfix/*) with defined merge rules between them. The other options are not recognized branching strategies: 'Rebase-only' (A) describes a history-rewriting integration technique rather than a branch topology, 'Merge avoidance' (B) is a general practice of minimizing merge commits, and 'Direct commit to main' (D) is the absence of a branching strategy, i.e., committing straight to the mainline.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Rebase-only
Why it's wrong here
Rebase-only is not a branching strategy; rebase is a history-rewriting operation applied within strategies such as Git Flow or trunk-based development. It tempts because rebase is genuinely used to integrate branches, but naming it as a strategy confuses a command with a workflow model.
- ✗
Merge avoidance
Why it's wrong here
Merge avoidance is not a recognised branching strategy; merges are how branches reconcile divergent histories. It tempts because teams do minimise merge conflicts through frequent integration, but that practise is a habit within strategies like trunk-based development, not a strategy itself.
- ✓
Feature branching
Why this is correct
Feature branching isolates work for a single feature or task on a dedicated branch, keeping the mainline stable until the work is merged. This is a recognised Git workflow pattern, satisfying the question's requirement for a valid branching strategy.
- ✗
Direct commit to main
Why it's wrong here
Direct commits to main describe trunk-based development, a valid strategy, but the question asks for branching strategies and this option names committing rather than branching. It tempts because trunk-based development is legitimate, yet the phrasing describes an action, not a branch model.
- ✓
GitFlow
Why this is correct
GitFlow is a defined branching model using long-lived main and develop branches plus supporting feature, release and hotfix branches. It prescribes how and when branches merge, satisfying the question's requirement for a valid, named Git branching strategy.
Go deeper
Related to this question
About these practice questions
One of 975 original 200-901 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
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.