Bird
Raised Fist0
Gitdevops~5 mins

Creating branches with git branch - Step-by-Step CLI Walkthrough

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
Introduction
When working on a project, you often want to try new ideas without changing the main work. Creating branches lets you do this by making a separate copy of your project to work on safely.
When you want to add a new feature without affecting the main code.
When you need to fix a bug but keep the fix separate until it's tested.
When you want to experiment with changes without risking the main project.
When collaborating with others and each person works on their own branch.
When preparing a version of the project for release while continuing development.
Commands
This command creates a new branch named 'feature-login' to work on a login feature separately.
Terminal
git branch feature-login
Expected OutputExpected
No output (command runs silently)
This command lists all branches in the repository, showing the current branch with a star.
Terminal
git branch
Expected OutputExpected
main * feature-login
This switches your working area to the 'feature-login' branch so you can start working there.
Terminal
git checkout feature-login
Expected OutputExpected
Switched to branch 'feature-login'
This deletes the 'feature-login' branch after you finish or decide not to use it anymore.
Terminal
git branch -d feature-login
Expected OutputExpected
Deleted branch feature-login (was abc1234).
-d - Deletes a branch safely if it has been merged.
Key Concept

If you remember nothing else from this pattern, remember: branches let you work on changes separately without affecting the main project.

Common Mistakes
Creating a branch but not switching to it before making changes.
Your changes will still go to the current branch, not the new one.
After creating a branch, use 'git checkout branch-name' to switch to it before editing.
Deleting a branch that has unmerged changes with 'git branch -d'.
Git will refuse to delete it to prevent losing work.
Use 'git branch -D branch-name' to force delete, but only if you are sure you want to lose those changes.
Summary
Use 'git branch branch-name' to create a new branch.
Use 'git branch' to list all branches and see which one is active.
Use 'git checkout branch-name' to switch to the new branch and start working.
Use 'git branch -d branch-name' to delete a branch safely after merging.

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