Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a workflow agreement in Git?
A workflow agreement is a shared understanding among team members about how to use Git branches, commits, and merges to work together smoothly.
Click to reveal answer
beginner
Why is having a workflow agreement important?
It helps avoid confusion, reduces conflicts, and makes sure everyone follows the same steps, so the project stays organized and efficient.
Click to reveal answer
intermediate
How does a workflow agreement reduce merge conflicts?
By agreeing on when and how to merge changes, team members avoid working on the same code parts at the same time, which lowers the chance of conflicts.
Click to reveal answer
beginner
What can happen if a team does not follow a workflow agreement?
The project can become messy with lost work, duplicated efforts, and hard-to-fix errors, slowing down progress and causing frustration.
Click to reveal answer
intermediate
Name one common Git workflow agreement.
Git Flow is a popular workflow agreement that defines roles for branches like 'feature', 'develop', and 'main' to organize work clearly.
Click to reveal answer
What is the main purpose of a Git workflow agreement?
ATo delete old branches automatically
BTo make Git run faster
CTo prevent anyone from committing code
DTo ensure team members work in a coordinated way
✗ Incorrect
A workflow agreement helps team members coordinate their work to avoid confusion and conflicts.
Which problem does a workflow agreement help reduce?
ASlow internet
BCode formatting
CMerge conflicts
DHardware failures
✗ Incorrect
By defining how and when to merge, workflow agreements reduce merge conflicts.
What might happen if team members do not follow a workflow agreement?
AProject becomes disorganized and error-prone
BGit automatically fixes all errors
CCode runs faster
DBranches merge without review
✗ Incorrect
Without agreement, work can overlap and cause errors, making the project messy.
Which of these is a common Git workflow?
AGit Flow
BGit Speed
CGit Delete
DGit Freeze
✗ Incorrect
Git Flow is a popular workflow that organizes branches for clear team collaboration.
Who benefits from a Git workflow agreement?
AOnly the team leader
BEveryone on the team
COnly new team members
DOnly the testers
✗ Incorrect
All team members benefit because it makes collaboration smoother and clearer.
Explain why a team should agree on a Git workflow before starting a project.
Think about how working together without rules can cause confusion.
You got /4 concepts.
Describe what can go wrong if team members ignore the agreed Git workflow.
Consider the effects of uncoordinated work on a shared project.
You got /5 concepts.
Practice
(1/5)
1. Why is having a workflow agreement important when using git in a team?
easy
A. It helps prevent conflicts and keeps the code organized.
B. It makes the code run faster on all machines.
C. It automatically fixes bugs in the code.
D. It allows unlimited access to the repository without rules.
Solution
Step 1: Understand the purpose of workflow agreement
A workflow agreement sets clear rules for how team members use Git, helping avoid confusion.
Step 2: Identify the main benefit
By following agreed rules, conflicts are reduced and code stays organized, improving teamwork.
Final Answer:
It helps prevent conflicts and keeps the code organized. -> Option A
Quick Check:
Workflow agreement = prevent conflicts and organize code [OK]
Hint: Workflow agreement = clear rules to avoid conflicts [OK]
Common Mistakes:
Thinking workflow speeds up code execution
Believing workflow fixes bugs automatically
Assuming workflow removes access controls
2. Which of the following is the correct way to start a new branch following a team workflow?
easy
A. git branch -m feature/login
B. git checkout -b feature/login
C. git push origin feature/login
D. git merge feature/login
Solution
Step 1: Identify the command to create and switch to a new branch
git checkout -b branch-name creates and switches to the new branch in one step.
Step 2: Check other options
git branch -m renames a branch, git push uploads changes, and git merge combines branches.
Final Answer:
git checkout -b feature/login -> Option B
Quick Check:
Create and switch branch = git checkout -b [OK]
Hint: Create and switch branch with git checkout -b [OK]
Common Mistakes:
Using git branch -m to create a branch
Trying to push before creating the branch
Merging before creating or switching branches
3. Given this team workflow: always pull before pushing. What will happen if you run these commands in order?
git push origin main
git pull origin main
medium
A. Pull will overwrite remote changes without warning.
B. Push will succeed even if remote has new commits.
C. Push and pull commands do nothing without commit.
D. Push will fail if remote has new commits; pull updates local branch.
Solution
Step 1: Understand push behavior when remote has new commits
If remote has new commits, git push will be rejected to avoid overwriting others' work.
Step 2: Understand pull updates local branch
git pull fetches and merges remote changes into local branch, updating it.
Final Answer:
Push will fail if remote has new commits; pull updates local branch. -> Option D
Quick Check:
Push fails if remote ahead; pull updates local [OK]
Hint: Always pull before push to avoid conflicts [OK]
Common Mistakes:
Assuming push always succeeds
Thinking pull overwrites remote
Believing push/pull do nothing without commits
4. A team member forgot to pull before pushing and got this error:
! [rejected] main -> main (fetch first)
What should they do to fix this?
medium
A. Delete the local branch and create a new one.
B. Run git push --force to overwrite remote changes.
C. Run git pull origin main then resolve any conflicts before pushing again.
D. Ignore the error and try pushing again immediately.
Solution
Step 1: Understand the error meaning
The error means remote has new commits; local branch is behind.
Step 2: Correct fix is to pull and merge changes
Running git pull origin main updates local branch; conflicts can be resolved before pushing.
Final Answer:
Run git pull origin main then resolve any conflicts before pushing again. -> Option C
Quick Check:
Pull first to sync before push [OK]
Hint: Pull and fix conflicts before pushing [OK]
Common Mistakes:
Using git push --force without caution
Deleting branches unnecessarily
Ignoring errors and retrying push
5. Your team agreed on a workflow where all feature branches must be reviewed before merging into main. Which Git command sequence best supports this workflow?
hard
A. Create feature branch, push to remote, open pull request, merge after approval.
B. Commit directly to main branch without branches or reviews.
C. Merge feature branch locally and push to main without review.
D. Delete main branch and work only on feature branches.
Solution
Step 1: Identify workflow steps for review
Creating a feature branch and pushing it allows others to review changes before merging.
Step 2: Use pull requests for review and controlled merging
Opening a pull request enables team review; merging happens only after approval.
Final Answer:
Create feature branch, push to remote, open pull request, merge after approval. -> Option A
Quick Check:
Feature branch + PR + review = safe merge [OK]
Hint: Use pull requests for review before merging [OK]