Bird
Raised Fist0
Gitdevops~5 mins

Feature branch workflow in Git - 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 is a feature branch in Git?
A feature branch is a separate branch created from the main branch to develop a new feature independently without affecting the main code.
Click to reveal answer
beginner
Why use a feature branch workflow?
It helps keep the main branch stable by isolating new features until they are fully tested and ready to merge.
Click to reveal answer
beginner
What is the typical first step to start working on a feature branch?
Create a new branch from the main branch using: git checkout -b feature-branch-name
Click to reveal answer
beginner
How do you merge a feature branch back into the main branch?
First switch to the main branch with git checkout main, then merge using git merge feature-branch-name.
Click to reveal answer
intermediate
What should you do before merging your feature branch?
Make sure your feature branch is up to date with the main branch and all tests pass to avoid conflicts and errors.
Click to reveal answer
What command creates a new feature branch and switches to it?
Agit checkout -b feature-branch
Bgit branch feature-branch
Cgit merge feature-branch
Dgit commit -m 'feature branch'
Why should you keep feature branches separate from the main branch?
ATo speed up the internet connection
BTo delete the main branch
CTo avoid breaking the main code while developing new features
DTo make the repository smaller
What is the correct order to merge a feature branch back into main?
ADelete feature branch, then merge main
BMerge feature branch, then switch to main branch
CCommit changes, then delete main branch
DSwitch to main branch, then merge feature branch
What should you do if your feature branch is behind the main branch?
AUpdate your feature branch by merging or rebasing main into it
BDelete your feature branch
CIgnore the main branch changes
DPush your feature branch without updating
Which of these is NOT a benefit of using feature branch workflow?
AIsolates new features for safer development
BAutomatically fixes all bugs in the code
CAllows multiple developers to work independently
DKeeps main branch stable
Explain the steps to create, work on, and merge a feature branch in Git.
Think about the commands and order you use in Git.
You got /6 concepts.
    Why is the feature branch workflow important for team projects?
    Consider how teams avoid conflicts and bugs.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of using a feature branch in Git?
      easy
      A. To merge all changes immediately without review
      B. To delete the main branch permanently
      C. To keep new work separate from the main code until it's ready
      D. To create backups of the repository

      Solution

      1. Step 1: Understand the role of feature branches

        Feature branches isolate new development work from the main codebase.
      2. Step 2: Identify the correct purpose

        This isolation allows safe development without affecting the stable main branch.
      3. Final Answer:

        To keep new work separate from the main code until it's ready -> Option C
      4. Quick Check:

        Feature branch purpose = isolation [OK]
      Hint: Feature branches isolate new work from main code [OK]
      Common Mistakes:
      • Thinking feature branches delete main branch
      • Assuming feature branches merge immediately
      • Confusing feature branches with backups
      2. Which Git command correctly creates and switches to a new feature branch named feature-login?
      easy
      A. git branch feature-login
      B. git push feature-login
      C. git merge feature-login
      D. git checkout -b feature-login

      Solution

      1. Step 1: Understand branch creation and switching

        The command git checkout -b branch-name creates and switches to the new branch in one step.
      2. Step 2: Identify the correct command

        git checkout -b feature-login is the command that creates and switches to the new branch.
      3. Final Answer:

        git checkout -b feature-login -> Option D
      4. Quick Check:

        Create and switch branch = git checkout -b [OK]
      Hint: Use git checkout -b to create and switch branch [OK]
      Common Mistakes:
      • Using git branch without switching
      • Confusing git merge with branch creation
      • Trying to push before creating branch
      3. Given the commands below, what will be the current branch after execution?
      git checkout -b feature-ui
       git commit -m "Add UI"
       git checkout main
       git merge feature-ui
      medium
      A. feature-ui
      B. main
      C. detached HEAD
      D. No branch (error)

      Solution

      1. Step 1: Trace branch switching commands

        The commands switch to feature-ui, then back to main.
      2. Step 2: Understand merge and current branch

        After merging feature-ui into main, the current branch remains main.
      3. Final Answer:

        main -> Option B
      4. Quick Check:

        Last checkout branch = current branch [OK]
      Hint: Last git checkout sets current branch [OK]
      Common Mistakes:
      • Assuming merge switches branch
      • Confusing commit branch with current branch
      • Thinking merge detaches HEAD
      4. You created a feature branch and made commits, but when you try to merge it into main, Git says "Already up to date." What is the likely problem?
      medium
      A. You are on the wrong branch when merging
      B. Your working directory has uncommitted changes
      C. The feature branch has diverged from main
      D. You forgot to push the feature branch to remote

      Solution

      1. Step 1: Analyze the error message context

        "Already up to date" means Git sees no new changes to merge.
      2. Step 2: Check the branch where merge is run

        If you run git merge feature-branch while not on main, it merges into the wrong branch or shows no effect.
      3. Final Answer:

        You are on the wrong branch when merging -> Option A
      4. Quick Check:

        Merge branch context matters [OK]
      Hint: Always checkout main before merging feature branch [OK]
      Common Mistakes:
      • Merging while on feature branch instead of main
      • Assuming push affects local merge
      • Ignoring branch status before merge
      5. Your team uses feature branches. You finished a feature and want to merge it into main. Which sequence of commands correctly follows the feature branch workflow?
      hard
      A. git checkout main; git merge feature-branch; git push origin main; git branch -d feature-branch
      B. git merge feature-branch; git checkout main; git push origin main
      C. git checkout feature-branch; git push origin main; git merge main
      D. git push origin feature-branch; git checkout main; git merge feature-branch

      Solution

      1. Step 1: Switch to main branch before merging

        You must be on main to merge the feature branch into it.
      2. Step 2: Merge, push, and clean up

        After merging, push changes to remote and delete the feature branch locally to keep repo clean.
      3. Final Answer:

        git checkout main; git merge feature-branch; git push origin main; git branch -d feature-branch -> Option A
      4. Quick Check:

        Checkout main, merge, push, delete branch [OK]
      Hint: Always merge feature into main, then push and delete branch [OK]
      Common Mistakes:
      • Merging without switching to main
      • Pushing wrong branch
      • Not deleting feature branch after merge