Bird
Raised Fist0
Gitdevops~20 mins

Creating branches with git branch - Practice Exercises

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
Challenge - 5 Problems
🎖️
Git Branch Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
What is the output of creating a new branch?
You run the command git branch feature1 in a repository. What will be the output shown in the terminal?
Git
git branch feature1
ASwitched to branch 'feature1'
BCreated branch feature1 and switched to it.
Cerror: branch 'feature1' already exists.
DNo output is shown; the branch is created silently.
Attempts:
2 left
💡 Hint
The git branch command creates a branch but does not switch to it.
💻 Command Output
intermediate
1:30remaining
What branches exist after creating a branch?
You have a repository with a single branch main. You run git branch dev. What branches will git branch list now?
Git
git branch dev
git branch
A* dev
B
  main
* dev
C
* main
  dev
D dev
Attempts:
2 left
💡 Hint
The star (*) marks the current branch.
🔀 Workflow
advanced
2:00remaining
Which command sequence creates and switches to a new branch?
You want to create a new branch called featureX and start working on it immediately. Which sequence of commands achieves this?
A
git branch featureX
git checkout featureX
Bgit branch featureX
C
git checkout featureX
git branch featureX
Dgit checkout -b featureX
Attempts:
2 left
💡 Hint
Creating a branch and switching are two separate steps unless combined.
Troubleshoot
advanced
1:30remaining
Why does git branch fail to create a branch?
You run git branch main but get the error: fatal: A branch named 'main' already exists. What is the cause?
AThe branch name 'main' is reserved and cannot be used.
BThe branch 'main' already exists; you cannot create it again.
CYou need to add files before creating a branch.
DYou are not inside a git repository.
Attempts:
2 left
💡 Hint
Branch names must be unique in the repository.
🧠 Conceptual
expert
2:30remaining
What happens internally when you run git branch new-feature?
Choose the correct description of what git branch new-feature does internally in the git repository.
AIt creates a new pointer named 'new-feature' that points to the current commit, without changing HEAD.
BIt creates a new commit named 'new-feature' and switches HEAD to it.
CIt deletes the current branch and replaces it with 'new-feature'.
DIt creates a new branch and immediately switches HEAD to it.
Attempts:
2 left
💡 Hint
Think about what a branch really is in git.

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