Practice merge and pull request vocabulary: draft PRs, CI failures, review states, merge strategies, CODEOWNERS approval requirements, and rebase before merge.
0 / 26 completed
1 / 26
'Draft PR for early feedback.' What is the purpose of a draft (or WIP) pull request?
Draft pull requests (GitHub) or WIP merge requests (GitLab) signal 'work in progress — not ready to merge'. They enable early collaboration: reviewers can comment on the approach, flag potential issues, and give design feedback while changes are still easy to make. Drafts prevent accidental merges and communicate status clearly. Convert to 'ready for review' when the implementation is complete.
2 / 26
'The PR is blocked by CI failure.' What does a CI failure on a PR mean?
CI (Continuous Integration) runs automatically on every PR — typically running tests, linters, type checkers, and build steps. A CI failure means one of these checks failed. Most repositories are configured to block merges until CI passes, ensuring broken code doesn't reach the main branch. The PR author must fix the failure and push new commits to re-trigger CI.
3 / 26
What is the difference between 'squash and merge' and 'merge commit'?
Squash and merge collapses all commits from the PR into a single, clean commit on main — ideal for keeping main history readable. Merge commit (a traditional merge) creates a merge commit and preserves all individual commits from the branch. The choice depends on team preference: squash produces a cleaner linear history; merge commits preserve the full context of how the feature was developed.
4 / 26
'The PR requires 2 approvals from CODEOWNERS.' What is a CODEOWNERS file?
CODEOWNERS (GitHub/GitLab) is a file that defines automatic review requirements based on which files are changed. If you touch /src/payments/, the payments team is automatically added as required reviewers. This ensures domain experts review changes to their areas of the codebase. The CODEOWNERS file sits in the repository root or .github directory.
5 / 26
'The PR is rebased on main before merging.' What does rebasing a PR branch on main do?
Rebasing the PR branch on main replays your commits on top of the current main branch tip. This ensures: (1) your changes incorporate all recent main branch updates, (2) any conflicts are resolved by you (who best understands the PR context) rather than during merge, and (3) CI runs against the combined code before merge. It produces a cleaner linear history compared to merge commits on feature branches.
6 / 26
Alice: "Hey team, I've created a draft pull request for the new user authentication module. It's not fully complete yet – just outlines the core changes. Could you take a quick look and let me know if there are any immediate concerns?"
Draft or WIP (Work In Progress) pull requests aren't meant for immediate merging. They're designed to solicit early feedback on incomplete code and allow the author to iterate based on suggestions before stabilizing the feature. A draft PR highlights that the work is still evolving, encouraging conversation around potential issues.
7 / 26
Ben: "I've submitted a PR with the new payment gateway integration. The CI failed – it says 'build error'. What does Ben mean when he mentions a 'build error' in relation to his pull request?"
A 'build error' in CI/CD pipelines specifically refers to problems encountered *during* the compilation and packaging stages of development. This typically indicates issues with the code itself – syntax errors, missing dependencies, or incompatible configurations – preventing the project from being built successfully. It's distinct from testing or review issues.
8 / 26
Sarah sends this message in a Slack channel: "I'm going to squash and merge the PR for feature X. What will happen when she performs this action?"
'Squash and merge' combines multiple commits from a feature branch into a single commit on the target branch (typically `main`). This creates a cleaner history by removing unnecessary intermediate commits. It's important to understand that this *rewrites* the history of the original PR branch; it doesn't preserve its individual commit logs.
9 / 26
API Response: {
"status": "error",
"message": "Conflict: Pull request already merged.",
"code": 400}
What does this API response indicate regarding a pull request?"
This API response signifies an HTTP Conflict (400) status, which is commonly returned when attempting to perform an action that has already been completed. In this case, the message 'Pull request already merged' clearly indicates that the pull request was successfully merged into the target branch before the server received the request to check its state.
10 / 26
David is writing a PR description for his change. He wants to ensure that other developers understand how this PR relates to the overall project and who should review it. Which of the following best describes the purpose of including 'CODEOWNERS' in the PR?"
A 'CODEOWNERS' file is a mechanism within Git and platforms like GitHub that allows you to designate individuals as responsible for reviewing code changes in specific parts of your repository. This ensures that the most knowledgeable developers – those with expertise in the relevant area – are involved in the review process, leading to higher quality code.
11 / 26
Maria: "I'm rebasing my PR branch onto `main` before merging. What is the primary reason for doing this?"
Rebasing a branch onto another involves rewriting its commit history. By applying the latest changes from `main` onto your feature branch, you create a linear history with only one set of commits. This simplifies the review process and avoids potential merge conflicts that can arise when merging divergent histories.
12 / 26
Ben: "I've submitted a PR with the new payment gateway integration. The CI failed – it says 'build error'. What does Ben mean when he mentions a 'build error' in relation to his pull request?"
A 'build error' in CI/CD pipelines specifically refers to problems encountered *during* the compilation and packaging stages of development. This typically indicates issues with the code itself – syntax errors, missing dependencies, or incompatible configurations – preventing the project from being built successfully. It's distinct from testing or review issues.
13 / 26
Sarah sends this message in a Slack channel: "I'm going to squash and merge the PR for feature X. What will happen when she performs this action?"
'Squash and merge' combines multiple commits from a feature branch into a single commit on the target branch (typically `main`). This creates a cleaner history by removing unnecessary intermediate commits. It's important to understand that this *rewrites* the history of the original PR branch; it doesn't preserve its individual commit logs.
14 / 26
API Response: {
"status": "error",
"message": "Conflict: Pull request already merged.",
"code": 400}
What does this API response indicate regarding a pull request?"
This API response signifies an HTTP Conflict (400) status, which is commonly returned when attempting to perform an action that has already been completed. In this case, the message 'Pull request already merged' clearly indicates that the pull request was successfully merged into the target branch before the server received the request to check its state.
15 / 26
David is writing a PR description for his change. He wants to ensure that other developers understand how this PR relates to the overall project and who should review it. Which of the following best describes the purpose of including 'CODEOWNERS' in the PR?"
A 'CODEOWNERS' file is a mechanism within Git and platforms like GitHub that allows you to designate individuals as responsible for reviewing code changes in specific parts of your repository. This ensures that the most knowledgeable developers – those with expertise in the relevant area – are involved in the review process, leading to higher quality code.
16 / 26
Maria: "I'm rebasing my PR branch onto `main` before merging. What is the primary reason for doing this?"
Rebasing a branch onto another involves rewriting its commit history. By applying the latest changes from `main` onto your feature branch, you create a linear history with only one set of commits. This simplifies the review process and avoids potential merge conflicts that can arise when merging divergent histories.
17 / 26
Ben: "I've submitted a PR with the new payment gateway integration. The CI failed – it says 'build error'. What does Ben mean when he mentions a 'build error' in relation to his pull request?"
A 'build error' in CI/CD pipelines specifically refers to problems encountered *during* the compilation and packaging stages of development. This typically indicates issues with the code itself – syntax errors, missing dependencies, or incompatible configurations – preventing the project from being built successfully. It's distinct from testing or review issues.
18 / 26
Sarah sends this message in a Slack channel: "I'm going to squash and merge the PR for feature X. What will happen when she performs this action?"
'Squash and merge' combines multiple commits from a feature branch into a single commit on the target branch (typically `main`). This creates a cleaner history by removing unnecessary intermediate commits. It's important to understand that this *rewrites* the history of the original PR branch; it doesn't preserve its individual commit logs.
19 / 26
API Response: {
"status": "error",
"message": "Conflict: Pull request already merged.",
"code": 400}
What does this API response indicate regarding a pull request?"
This API response signifies an HTTP Conflict (400) status, which is commonly returned when attempting to perform an action that has already been completed. In this case, the message 'Pull request already merged' clearly indicates that the pull request was successfully merged into the target branch before the server received the request to check its state.
20 / 26
David is writing a PR description for his change. He wants to ensure that other developers understand how this PR relates to the overall project and who should review it. Which of the following best describes the purpose of including 'CODEOWNERS' in the PR?"
A 'CODEOWNERS' file is a mechanism within Git and platforms like GitHub that allows you to designate individuals as responsible for reviewing code changes in specific parts of your repository. This ensures that the most knowledgeable developers – those with expertise in the relevant area – are involved in the review process, leading to higher quality code.
21 / 26
Maria: "I'm rebasing my PR branch onto `main` before merging. What is the primary reason for doing this?"
Rebasing a branch onto another involves rewriting its commit history. By applying the latest changes from `main` onto your feature branch, you create a linear history with only one set of commits. This simplifies the review process and avoids potential merge conflicts that can arise when merging divergent histories.
22 / 26
Ben: "I've submitted a PR with the new payment gateway integration. The CI failed – it says 'build error'. What does Ben mean when he mentions a 'build error' in relation to his pull request?"
A 'build error' in CI/CD pipelines specifically refers to problems encountered *during* the compilation and packaging stages of development. This typically indicates issues with the code itself – syntax errors, missing dependencies, or incompatible configurations – preventing the project from being built successfully. It's distinct from testing or review issues.
23 / 26
Sarah sends this message in a Slack channel: "I'm going to squash and merge the PR for feature X. What will happen when she performs this action?"
'Squash and merge' combines multiple commits from a feature branch into a single commit on the target branch (typically `main`). This creates a cleaner history by removing unnecessary intermediate commits. It's important to understand that this *rewrites* the history of the original PR branch; it doesn't preserve its individual commit logs.
24 / 26
API Response: {
"status": "error",
"message": "Conflict: Pull request already merged.",
"code": 400}
What does this API response indicate regarding a pull request?"
This API response signifies an HTTP Conflict (400) status, which is commonly returned when attempting to perform an action that has already been completed. In this case, the message 'Pull request already merged' clearly indicates that the pull request was successfully merged into the target branch before the server received the request to check its state.
25 / 26
David is writing a PR description for his change. He wants to ensure that other developers understand how this PR relates to the overall project and who should review it. Which of the following best describes the purpose of including 'CODEOWNERS' in the PR?"
A 'CODEOWNERS' file is a mechanism within Git and platforms like GitHub that allows you to designate individuals as responsible for reviewing code changes in specific parts of your repository. This ensures that the most knowledgeable developers – those with expertise in the relevant area – are involved in the review process, leading to higher quality code.
26 / 26
Maria: "I'm rebasing my PR branch onto `main` before merging. What is the primary reason for doing this?"
Rebasing a branch onto another involves rewriting its commit history. By applying the latest changes from `main` onto your feature branch, you create a linear history with only one set of commits. This simplifies the review process and avoids potential merge conflicts that can arise when merging divergent histories.
What does this Version Control Strategy Language exercise cover?
This exercise, "Merge/Pull Request Vocabulary", tests your understanding of version control strategy language vocabulary and phrasing through 26 multiple-choice questions drawn from real workplace scenarios.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is completely free — no account, sign-up, or payment required.
How many questions does this exercise have?
This exercise has 26 questions. Each one presents a realistic sentence or scenario with multiple-choice options and an explanation once you answer.
What happens after I answer a question?
You'll see immediate feedback showing whether your answer was correct, along with a short explanation of why — then a button to move to the next question.
Can I retry the exercise if I get questions wrong?
Yes. Once you reach the results screen, click "Try again" to reset your answers and go through the exercise from the start as many times as you like.
Do I need to create an account to take this exercise?
No account is needed. Your answers are scored in your browser during the session — nothing is saved to a server, so you can jump straight in.
Is my progress saved if I leave the page?
No — progress within an exercise resets if you navigate away or reload. Each exercise is short enough to complete in a few minutes in one sitting.
Who is this Version Control Strategy Language exercise for?
It's designed for IT professionals and learners who want to sound natural discussing version control strategy language topics in English — useful for meetings, documentation, interviews, and day-to-day communication with English-speaking teams.
How is this different from reading a glossary or blog article?
Exercises like this one are active recall drills — you have to choose the correct term or phrasing yourself, which builds retention faster than passively reading a definition.
Where can I find more Version Control Strategy Language exercises?
Browse the full Version Control Strategy Language exercises hub for more practice, or explore other exercise categories covering vocabulary, grammar, interviews, and workplace communication.