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 merge commit in Git?
A merge commit is a special commit that combines the changes from two branches into one, preserving the history of both branches.
Click to reveal answer
beginner
Which Git command creates a merge commit by default when merging branches?
The command git merge <branch-name> creates a merge commit by default if there are changes to combine.
Click to reveal answer
beginner
What happens if there are no conflicts during a merge?
Git automatically creates a merge commit that combines the changes from both branches without manual intervention.
Click to reveal answer
intermediate
How can you avoid creating a merge commit when merging?
You can use git merge --ff-only <branch-name> to only merge if a fast-forward is possible, avoiding a merge commit.
Click to reveal answer
beginner
What is the purpose of the merge commit message?
The merge commit message explains which branches were merged and why, helping others understand the combined changes.
Click to reveal answer
Which command creates a merge commit in Git?
Agit rebase master
Bgit checkout feature-branch
Cgit commit --amend
Dgit merge feature-branch
✗ Incorrect
The git merge command combines branches and creates a merge commit if needed.
What does a merge commit do?
ADeletes the source branch
BCombines changes from two branches
CCreates a new branch
DReverts previous commits
✗ Incorrect
A merge commit combines the changes from two branches into one.
How do you prevent a merge commit during merge?
Agit merge --ff-only
Bgit merge --no-commit
Cgit merge --squash
Dgit merge --abort
✗ Incorrect
Using --ff-only merges only if a fast-forward is possible, avoiding a merge commit.
What happens if there are conflicts during a merge?
AGit automatically resolves them
BGit creates a merge commit without changes
CYou must manually resolve conflicts before completing the merge
DThe merge is canceled automatically
✗ Incorrect
Conflicts must be resolved manually before the merge commit can be created.
Which branch is updated after a successful merge commit?
AThe target branch where merge is done
BThe source branch
CBoth branches
DNeither branch
✗ Incorrect
The target branch is updated with the merge commit combining changes.
Explain what a merge commit is and why it is important in Git.
Think about how two sets of changes come together in one place.
You got /4 concepts.
Describe the steps Git takes when creating a merge commit and what happens if there are conflicts.
Consider what Git does automatically and what needs your help.
You got /4 concepts.
Practice
(1/5)
1. What does a git merge <branch-name> command do in Git?
easy
A. Combines changes from the specified branch into the current branch with a merge commit
B. Deletes the specified branch from the repository
C. Creates a new branch named after the specified branch
D. Resets the current branch to the specified branch's state without merging
Solution
Step 1: Understand the purpose of git merge
The git merge <branch-name> command is used to combine changes from another branch into the current branch.
Step 2: Identify the result of the merge
This operation creates a merge commit that records the integration of changes from both branches.
Final Answer:
Combines changes from the specified branch into the current branch with a merge commit -> Option A
Quick Check:
Merge command = combine branches with commit [OK]
Hint: Merge means combine branches with a commit [OK]
Common Mistakes:
Confusing merge with branch deletion
Thinking merge creates a new branch
Assuming merge resets branch without commit
2. Which of the following is the correct syntax to create a merge commit from branch feature into the current branch?
easy
A. git merge feature
B. git merge -b feature
C. git merge --delete feature
D. git merge --reset feature
Solution
Step 1: Recall the basic merge syntax
The correct syntax to merge a branch is git merge <branch-name> without extra flags for a normal merge commit.
Step 2: Evaluate the options
git merge feature matches the correct syntax. The other options use invalid or unrelated flags.
Final Answer:
git merge feature -> Option A
Quick Check:
Simple merge = git merge branch [OK]
Hint: Use 'git merge branch-name' to merge simply [OK]
Common Mistakes:
Adding unnecessary flags like -b or --delete
Confusing merge with branch creation or deletion commands
Using reset flag which is unrelated to merge
3. Given the following commands executed in order:
git checkout main
git merge feature
What will Git do if there are no conflicts between main and feature and the branches have diverged?
medium
A. Reset main branch to feature branch state without commit
B. Delete the feature branch automatically
C. Create a merge commit combining changes from feature into main
D. Fail with an error asking to resolve conflicts
Solution
Step 1: Understand the merge process without conflicts
If there are no conflicts and the branches have diverged, Git will automatically create a merge commit combining changes from the feature branch into main.
Step 2: Confirm no branch deletion or errors occur
Git does not delete branches or reset branches automatically during merge without conflicts.
Final Answer:
Create a merge commit combining changes from feature into main -> Option C
Quick Check:
No conflicts + diverged = auto merge commit [OK]
Hint: No conflicts + diverged means merge commit created automatically [OK]
Common Mistakes:
Thinking feature branch is deleted after merge
Expecting errors when no conflicts exist
Confusing merge with reset or branch deletion
4. You run git merge feature but Git reports conflicts. What should you do next to complete the merge?
medium
A. Delete the current branch and recreate it to fix conflicts
B. Run git merge --abort to cancel the merge and delete the feature branch
C. Run git reset --hard to force merge without fixing conflicts
D. Manually fix conflicts in files, then run git add and git commit
Solution
Step 1: Understand conflict resolution process
When Git reports conflicts, you must manually fix the conflicting files by editing them.
Step 2: Complete the merge after fixing conflicts
After fixing, stage the changes with git add and finish the merge with git commit.
Final Answer:
Manually fix conflicts in files, then run git add and git commit -> Option D
Quick Check:
Fix conflicts, add, commit to complete merge [OK]
Hint: Fix conflicts manually, then add and commit [OK]
Common Mistakes:
Aborting merge and deleting branches unnecessarily
Using reset to skip conflict resolution
Deleting branches instead of resolving conflicts
5. You want to merge branch feature into main but avoid creating a merge commit. Which command should you use?
hard
A. git merge --no-ff feature
B. git merge --squash feature
C. git merge --ff-only feature
D. git merge --abort feature
Solution
Step 1: Understand merge commit creation options
The --squash option merges changes without creating a merge commit by combining all changes into one commit.
Step 2: Compare other options
--no-ff forces a merge commit, --ff-only only merges if fast-forward is possible, and --abort cancels merges.
Final Answer:
git merge --squash feature -> Option B
Quick Check:
Squash merges without merge commit [OK]
Hint: Use --squash to merge without merge commit [OK]