Q26 — AWS DVA-C02 Ch.1
Question 26 of 100 | ← Chapter 1
A developer needs to freeze changes to an AWS CodeCommit repository before a production release. During QA team testing of the release, the developer will continue developing new features. QA testing and all bug fixes must be isolated from the main branch. After the release, the developer must integrate all bug fixes into the main branch. Which solution meets these requirements?
- A. Create a release branch from the latest Git commit to be released. Apply fixes on the release branch. Continue developing new features and merge them into the main branch. After release, merge the release branch into the main branch. ✓
- B. Create a Git tag on the latest Git commit to be released. Continue developing new features and merge them into the main branch. Apply fixes on the main branch. Update the Git tag to point to the latest commit on the main branch.
- C. Create a release branch from the latest Git commit to be released. Apply fixes on the release branch. Continue developing new features and merge them into the main branch. After release, rebase the main branch onto the release branch.
- D. Create a Git tag on the latest Git commit to be released. Continue developing new features and merge them into the main branch. Apply the fix commits directly to the released Git tag.
Correct Answer: A. Create a release branch from the latest Git commit to be released. Apply fixes on the release branch. Continue developing new features and merge them into the main branch. After release, merge the release branch into the main branch.
Explanation
To meet the requirements, developers need: to freeze changes on the main branch during QA testing and bug fixing; continue developing new features concurrently; and integrate bug fixes into the main branch after release. Option A achieves this by isolating fixes on a dedicated release branch while allowing ongoing feature development on main, then merging fixes back post-release—ensuring stability and clean integration. Option B fails because Git tags are immutable references and cannot be updated to track evolving fixes. Option C introduces unnecessary complexity and potential merge conflicts via rebasing. Option D is invalid because Git tags are static and cannot be modified to accept new commits. Thus, Option A is the optimal solution.