Bird
Raised Fist0
Gitdevops~5 mins

git merge command - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

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 does the git merge command do?
It combines changes from one branch into another branch, integrating the histories.
Click to reveal answer
beginner
What is a 'merge conflict' in Git?
A situation where Git cannot automatically combine changes because the same part of a file was changed differently in the branches being merged.
Click to reveal answer
intermediate
How do you resolve a merge conflict?
You manually edit the conflicting files to choose or combine changes, then mark the conflict as resolved by adding the files and committing.
Click to reveal answer
intermediate
What does the command git merge --no-ff do?
It forces Git to create a merge commit even if the merge could be done with a fast-forward, preserving the branch history.
Click to reveal answer
beginner
What is a 'fast-forward' merge?
A merge where the current branch pointer is simply moved forward to the target branch because there are no divergent changes.
Click to reveal answer
What happens when you run git merge feature while on the main branch?
AThe <code>feature</code> branch is deleted.
BChanges from the <code>feature</code> branch are combined into <code>main</code>.
CThe <code>main</code> branch is renamed to <code>feature</code>.
DA new branch called <code>feature</code> is created.
Which command helps you see which files have conflicts after a merge?
A<code>git status</code>
B<code>git log</code>
C<code>git branch</code>
D<code>git checkout</code>
What does a 'fast-forward' merge mean?
AGit resets the repository to an earlier commit.
BGit creates a new merge commit.
CGit deletes the source branch.
DGit moves the branch pointer forward without creating a new commit.
How do you force Git to create a merge commit even if fast-forward is possible?
A<code>git merge --squash</code>
B<code>git merge --force</code>
C<code>git merge --no-ff</code>
D<code>git merge --abort</code>
What should you do after fixing merge conflicts manually?
AAdd the resolved files and commit the merge.
BDelete the branch.
CRun <code>git reset</code>.
DCreate a new branch.
Explain the process and purpose of the git merge command.
Think about how two different versions of a project come together.
You got /4 concepts.
    Describe what a merge conflict is and how you would resolve it in Git.
    Imagine two friends editing the same sentence differently.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the git merge command do in Git?
      easy
      A. It combines changes from one branch into the current branch.
      B. It deletes a branch permanently.
      C. It creates a new branch from the current branch.
      D. It shows the commit history of the current branch.

      Solution

      1. Step 1: Understand the purpose of git merge

        The git merge command is used to combine changes from one branch into another branch.
      2. Step 2: Identify the correct description

        Among the options, only It combines changes from one branch into the current branch. correctly describes merging changes into the current branch.
      3. Final Answer:

        It combines changes from one branch into the current branch. -> Option A
      4. Quick Check:

        git merge = combine branches [OK]
      Hint: Merge means combine changes into current branch [OK]
      Common Mistakes:
      • Confusing merge with branch deletion
      • Thinking merge creates a new branch
      • Mixing merge with viewing history
      2. Which of the following is the correct syntax to merge branch feature into the current branch?
      easy
      A. git merge --create feature
      B. git merge -b feature
      C. git merge feature
      D. git merge --delete feature

      Solution

      1. Step 1: Recall the basic merge syntax

        The correct syntax to merge a branch is git merge branch_name.
      2. Step 2: Match the syntax with options

        git merge feature matches the correct syntax. Options B, C, and D use invalid flags or commands.
      3. Final Answer:

        git merge feature -> Option C
      4. Quick Check:

        git merge + branch name = correct syntax [OK]
      Hint: Use 'git merge branch_name' to merge branches [OK]
      Common Mistakes:
      • Adding incorrect flags like -b or --create
      • Confusing merge with branch creation or deletion
      • Using merge without specifying branch name
      3. Given the following commands run in order:
      git checkout main
      git merge feature

      What happens if the feature branch has commits not in main?
      medium
      A. The main branch is reset to feature branch state.
      B. The feature branch is deleted automatically.
      C. Git throws an error and stops the merge.
      D. The commits from feature are added to main.

      Solution

      1. Step 1: Understand merge behavior with new commits

        When merging a branch with new commits, Git combines those commits into the current branch.
      2. Step 2: Analyze the options

        The commits from feature are added to main correctly describes this behavior. Options B, C, and D describe incorrect or unrelated behaviors.
      3. Final Answer:

        The commits from feature are added to main. -> Option D
      4. Quick Check:

        Merge adds commits [OK]
      Hint: Merge adds commits, does not delete branches [OK]
      Common Mistakes:
      • Thinking merge deletes branches
      • Expecting merge to reset branches
      • Assuming merge always fails with new commits
      4. You run git merge feature but Git reports a conflict. What should you do next?
      medium
      A. Restart Git to clear the conflict.
      B. Manually resolve the conflicts in files, then run git add and git commit.
      C. Run git merge --force to ignore conflicts.
      D. Delete the feature branch and try merging again.

      Solution

      1. Step 1: Understand merge conflicts

        When Git reports conflicts, it means changes clash and need manual fixing.
      2. Step 2: Resolve conflicts properly

        You must edit conflicted files to fix issues, then stage and commit the changes to complete the merge.
      3. Final Answer:

        Manually resolve the conflicts in files, then run git add and git commit. -> Option B
      4. Quick Check:

        Fix conflicts manually, then add and commit [OK]
      Hint: Fix conflicts manually, then add and commit [OK]
      Common Mistakes:
      • Trying to force merge ignoring conflicts
      • Deleting branches to fix conflicts
      • Restarting Git expecting conflicts to clear
      5. You want to merge branch feature into main but keep main's changes in case of conflict (favor main). Which command helps achieve this?
      hard
      A. git merge -X ours feature
      B. git merge --no-ff feature
      C. git merge -s recursive feature
      D. git merge --abort feature

      Solution

      1. Step 1: Understand merge strategies

        The -X ours option tells Git to favor the current branch's changes during conflicts.
      2. Step 2: Match the option to the goal

        git merge -X ours feature uses -X ours to keep main's changes if conflicts occur. Other options do not achieve this.
      3. Final Answer:

        git merge -X ours feature -> Option A
      4. Quick Check:

        Use -X ours to favor current branch on conflicts [OK]
      Hint: Use 'git merge -X ours' to keep current branch changes [OK]
      Common Mistakes:
      • Confusing -X ours with --no-ff
      • Using --abort to fix conflicts
      • Not specifying strategy option