Bird
Raised Fist0
Gitdevops~3 mins

Creating branches with git branch - Why You Should Know This

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
The Big Idea

What if you could try new ideas without risking your whole project?

The Scenario

Imagine you are working on a big group project where everyone is editing the same document. Without a way to separate your changes, you might accidentally overwrite someone else's work or lose your own updates.

The Problem

Manually copying files or saving multiple versions with different names is slow and confusing. It's easy to make mistakes, lose track of changes, or mix up versions, causing frustration and wasted time.

The Solution

Using git branch lets you create separate paths for your work. Each branch is like a clean workspace where you can try new ideas without affecting the main project. This keeps work organized and safe.

Before vs After
Before
Copy entire project folder to 'project-v2' before making changes
After
git branch new-feature
 git checkout new-feature
What It Enables

It enables you to work on multiple features or fixes at the same time without fear of breaking the main project.

Real Life Example

A developer creates a branch to add a new login feature while the rest of the team continues improving the website's design on the main branch.

Key Takeaways

Manual versioning is slow and error-prone.

git branch creates isolated workspaces.

Branches keep projects organized and safe.

Practice

(1/5)
1. What does the command git branch new-feature do?
easy
A. Creates a new branch named 'new-feature' without switching to it
B. Creates and switches to a new branch named 'new-feature'
C. Deletes the branch named 'new-feature'
D. Merges 'new-feature' branch into the current branch

Solution

  1. Step 1: Understand the git branch command

    The command git branch <branch-name> creates a new branch but does not switch to it.
  2. Step 2: Analyze the given command

    git branch new-feature creates a branch called 'new-feature' but stays on the current branch.
  3. Final Answer:

    Creates a new branch named 'new-feature' without switching to it -> Option A
  4. Quick Check:

    git branch creates branch only [OK]
Hint: git branch creates branch but does not switch [OK]
Common Mistakes:
  • Thinking it switches to the new branch automatically
  • Confusing branch creation with branch deletion
  • Assuming it merges branches
2. Which of the following is the correct syntax to create a branch named feature1 using git?
easy
A. git branch -c feature1
B. git create branch feature1
C. git branch feature1
D. git new branch feature1

Solution

  1. Step 1: Recall the correct git branch creation syntax

    The correct syntax to create a branch is git branch <branch-name>.
  2. Step 2: Check each option

    git branch feature1 matches the correct syntax exactly: git branch feature1. Others are invalid commands.
  3. Final Answer:

    git branch feature1 -> Option C
  4. Quick Check:

    Correct syntax = git branch <name> [OK]
Hint: Use 'git branch branch-name' to create branch [OK]
Common Mistakes:
  • Using incorrect flags like -c
  • Adding extra words like 'create' or 'new'
  • Confusing branch creation with checkout
3. Given the commands:
git branch test-branch
git branch
What will be the output of git branch?
medium
A. main\ntest-branch
B. main\n* test-branch
C. * test-branch
D. * main\n test-branch

Solution

  1. Step 1: Understand branch creation and listing

    git branch test-branch creates a new branch but does not switch to it. The current branch remains the same.
  2. Step 2: Check the output of git branch

    The output lists all branches. The current branch is marked with an asterisk (*). Since we did not switch, the current branch is still 'main'.
  3. Final Answer:

    * main\n test-branch -> Option D
  4. Quick Check:

    Current branch marked *; new branch listed but not active [OK]
Hint: New branch created but current branch stays same [OK]
Common Mistakes:
  • Assuming new branch is active immediately
  • Missing the asterisk for current branch
  • Listing branches without indentation or markers
4. You run git branch new-feature but then try git checkout new-feature and get an error. What is the most likely cause?
medium
A. You misspelled the branch name when checking out
B. You need to use git switch instead of git checkout
C. The branch was not created because of a syntax error
D. You are not in a git repository

Solution

  1. Step 1: Understand the error context

    If git checkout new-feature fails after creating the branch, the branch might not exist under that exact name.
  2. Step 2: Check common causes

    Most often, the branch name is misspelled or has a typo when checking out. Other options are less likely if branch creation succeeded.
  3. Final Answer:

    You misspelled the branch name when checking out -> Option A
  4. Quick Check:

    Branch name typo causes checkout error [OK]
Hint: Check branch name spelling before checkout [OK]
Common Mistakes:
  • Assuming checkout command is deprecated
  • Ignoring typos in branch names
  • Not verifying current directory is a git repo
5. You want to create a new branch featureX and immediately start working on it. Which sequence of commands correctly achieves this?
hard
A. git checkout -b featureX
B. All of the above
C. git branch featureX\ngit switch featureX
D. git branch featureX\ngit checkout featureX

Solution

  1. Step 1: Understand branch creation and switching

    Creating a branch and switching to it can be done in multiple ways: using separate commands or combined commands.
  2. Step 2: Analyze each option

    git branch featureX\ngit checkout featureX creates the branch then switches using checkout. git checkout -b featureX creates and switches in one step. git branch featureX\ngit switch featureX creates then switches using the newer 'git switch' command. All are valid.
  3. Final Answer:

    All of the above -> Option B
  4. Quick Check:

    Multiple valid ways to create and switch branch [OK]
Hint: Use 'git checkout -b' or 'git switch -c' to create and switch [OK]
Common Mistakes:
  • Thinking only one command works
  • Confusing 'git switch' with 'git checkout'
  • Not knowing combined commands exist