200-901 Software Development and Design Practice Question
A network automation team is adopting Git for managing Python scripts and YAML device templates. They want a branching model where each new feature is developed in isolation and merged back into a shared integration branch before release. Which Git branching strategy best matches this requirement?
⚠ Common exam trap
The trap here is assuming any modern branching model uses a separate integration branch, when GitHub Flow and trunk-based development integrate directly into main.
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 Flow
Git Flow defines a develop branch that acts as the integration point for completed feature branches and a main branch that stores release-ready code. Because the team wants features isolated and then merged into a shared integration branch before release, Git Flow is the model that matches those constraints.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Trunk-Based Development
Why it's wrong here
Trunk-based development has developers commit frequently to a single trunk branch, often multiple times per day, with very short-lived branches. That is the opposite of isolating each feature in its own branch and merging into a separate develop integration branch, so it does not satisfy the described workflow.
- ✗
GitHub Flow
Why it's wrong here
GitHub Flow relies on a single long-lived main branch and short-lived feature branches that are merged directly into main after pull request review. It does not use a separate shared integration branch such as develop, so it does not match the requested model of merging features into an integration branch before release.
- ✓
Git Flow
Why this is correct
Git Flow uses a long-lived develop branch as the integration branch where feature branches are merged, and a main branch that holds released code. This directly matches the requirement that features be isolated and then merged into a shared integration branch before release, making it the correct branching strategy here.
- ✗
Forking Workflow
Why it's wrong here
The forking workflow gives each developer a personal server-side copy of the repository and integrates changes through pull requests to the canonical repo. It addresses contribution permissions rather than defining a develop integration branch for feature merges, so it does not describe the requested branching model.
Visual reference
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 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.