Bird
Raised Fist0
Gitdevops~5 mins

git rebase basic usage - 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 rebase command do?
It moves or combines a sequence of commits to a new base commit, helping to keep a clean, linear project history.
Click to reveal answer
beginner
How do you start a basic rebase of your current branch onto main?
Use git rebase main while on your feature branch to replay your commits on top of main.
Click to reveal answer
intermediate
What should you do if you encounter conflicts during a rebase?
Resolve the conflicts manually, then run git rebase --continue to proceed with the rebase.
Click to reveal answer
intermediate
What is the difference between git merge and git rebase?
git merge combines histories creating a merge commit; git rebase rewrites history to create a linear sequence of commits.
Click to reveal answer
intermediate
Why should you avoid rebasing public branches?
Because rebasing rewrites history, it can confuse others who have based work on the original commits, causing conflicts.
Click to reveal answer
What command rebases your current branch onto the main branch?
Agit merge main
Bgit pull origin main
Cgit checkout main
Dgit rebase main
If a conflict happens during rebase, what is the next step?
ARun <code>git merge</code> to fix conflicts
BAbort the rebase with <code>git rebase --abort</code>
CResolve conflicts and run <code>git rebase --continue</code>
DDelete the branch and start over
What does rebasing do to your commit history?
ACreates a merge commit
BRewrites commits on top of another base
CDeletes all commits
DPushes commits to remote
Which is a risk of rebasing a public branch?
AConfusing collaborators due to rewritten history
BLosing all commits permanently
CAutomatically merging conflicts
DDeleting the remote repository
Which command cancels an ongoing rebase and returns to the original state?
Agit rebase --abort
Bgit reset --hard
Cgit merge --abort
Dgit checkout -- .
Explain the basic steps to perform a git rebase of your feature branch onto the main branch.
Think about how you move your work on top of the latest main branch.
You got /5 concepts.
    Describe why rebasing can be useful and when it should be avoided.
    Consider the benefits of clean history and the risks of changing shared history.
    You got /5 concepts.

      Practice

      (1/5)
      1. What does the git rebase command primarily do?
      easy
      A. Deletes all commits from the current branch
      B. Merges two branches together with a merge commit
      C. Creates a new branch without any commits
      D. Moves your commits to a new base commit to create a linear history

      Solution

      1. Step 1: Understand the purpose of git rebase

        Git rebase moves commits from one base to another to keep history linear and clean.
      2. Step 2: Compare with other git commands

        Unlike merge, rebase rewrites commit history without creating merge commits.
      3. Final Answer:

        Moves your commits to a new base commit to create a linear history -> Option D
      4. Quick Check:

        Rebase = move commits to new base [OK]
      Hint: Rebase moves commits to a new base, unlike merge [OK]
      Common Mistakes:
      • Confusing rebase with merge
      • Thinking rebase deletes commits
      • Believing rebase creates new branches
      2. Which of the following is the correct syntax to rebase your current branch onto main?
      easy
      A. git rebase --merge main
      B. git rebase -m main
      C. git rebase main
      D. git rebase --onto main

      Solution

      1. Step 1: Recall basic git rebase syntax

        The command to rebase current branch onto another is git rebase <branch>.
      2. Step 2: Identify correct option

        git rebase main matches the correct syntax: git rebase main.
      3. Final Answer:

        git rebase main -> Option C
      4. Quick Check:

        Rebase syntax = git rebase branch [OK]
      Hint: Use 'git rebase branch-name' to rebase current branch [OK]
      Common Mistakes:
      • Adding unnecessary flags like -m or --merge
      • Using --onto without required arguments
      • Confusing rebase syntax with merge
      3. Given the following commands run in sequence:
      git checkout feature
      git rebase main

      What happens to the commits on feature branch?
      medium
      A. They are replayed on top of the latest commit on main
      B. They are deleted and replaced by main commits
      C. They remain unchanged and main is merged
      D. They are copied to a new branch named main

      Solution

      1. Step 1: Understand what 'git rebase main' does on feature branch

        It takes commits from feature and replays them on top of main's latest commit.
      2. Step 2: Clarify what happens to commits

        Commits are not deleted but moved to appear after main's commits, creating a linear history.
      3. Final Answer:

        They are replayed on top of the latest commit on main -> Option A
      4. Quick Check:

        Rebase = replay commits on new base [OK]
      Hint: Rebase replays commits on top of target branch [OK]
      Common Mistakes:
      • Thinking commits get deleted
      • Confusing rebase with merge
      • Assuming new branches are created
      4. You ran git rebase main on your feature branch but got conflicts. What is the correct way to continue after resolving conflicts?
      medium
      A. Run git rebase --continue
      B. Run git merge --continue
      C. Run git commit --amend
      D. Run git rebase --abort to finish

      Solution

      1. Step 1: Identify the correct command after resolving rebase conflicts

        After fixing conflicts during rebase, you must run git rebase --continue to proceed.
      2. Step 2: Differentiate from other commands

        git merge --continue is for merges, git commit --amend edits commits, and git rebase --abort cancels rebase.
      3. Final Answer:

        Run git rebase --continue -> Option A
      4. Quick Check:

        Fix conflicts then git rebase --continue [OK]
      Hint: After conflicts, use 'git rebase --continue' to proceed [OK]
      Common Mistakes:
      • Using merge commands during rebase
      • Aborting rebase instead of continuing
      • Trying to amend commits prematurely
      5. You rebased your feature branch onto main and now want to update the remote branch. What must you do to push your changes?
      hard
      A. Use git push normally without flags
      B. Use git push --force to overwrite remote history
      C. Delete the remote branch and push again
      D. Use git push --no-verify to skip hooks

      Solution

      1. Step 1: Understand effect of rebase on commit history

        Rebase rewrites commit history, so remote branch history differs from local.
      2. Step 2: Identify correct push method after rebase

        You must force push with git push --force to update remote branch with rewritten history.
      3. Final Answer:

        Use git push --force to overwrite remote history -> Option B
      4. Quick Check:

        Rebase requires force push to update remote [OK]
      Hint: After rebase, always force push to update remote branch [OK]
      Common Mistakes:
      • Trying normal push after rebase
      • Deleting remote branch unnecessarily
      • Using push flags unrelated to rebase