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
Why Branches Are Essential in Git
📖 Scenario: You are working on a team project where multiple people add new features and fix bugs. To keep the main project safe and organized, you use branches in Git.
🎯 Goal: Learn how to create and use branches in Git to keep your work separate and safe before merging it into the main project.
📋 What You'll Learn
Create a new branch called feature
Switch to the feature branch
Make a change (create a file) on the feature branch
Switch back to the main branch
Show that the change is only on the feature branch
💡 Why This Matters
🌍 Real World
Teams use branches to work on different features or fixes at the same time without breaking the main project.
💼 Career
Understanding branches is essential for collaborating on code safely and efficiently in software development jobs.
Progress0 / 4 steps
1
Create a new branch called feature
Use the command git branch feature to create a new branch named feature.
Git
Hint
Branches let you work on new ideas without changing the main project.
2
Switch to the feature branch
Use the command git checkout feature to switch to the feature branch.
Git
Hint
You must switch to the branch to start working on it.
3
Create a new file called feature.txt on the feature branch
Create a file named feature.txt with the text New feature work on the feature branch using echo, git add, and git commit.
Git
Hint
Use echo "text" > filename to create a file with text, git add filename, and git commit -m "msg" to save it to the branch.
4
Switch back to the main branch and check files
Use git checkout main to switch back to the main branch. Then use ls to show that feature.txt is not present on main.
Git
Hint
Switching branches changes what files you see.
Practice
(1/5)
1. Why are branches important in Git? git branch feature creates a new branch. What is the main reason to use branches?
easy
A. To work on new features without affecting the main code
B. To delete files from the project
C. To speed up the computer
D. To permanently remove old versions
Solution
Step 1: Understand what branches do
Branches let you create a separate copy of the project to work on changes safely.
Step 2: Identify the main purpose of branches
Branches help keep new work separate so the main project stays stable.
Final Answer:
To work on new features without affecting the main code -> Option A
Quick Check:
Branches isolate work = A [OK]
Hint: Branches isolate new work from main code [OK]
Common Mistakes:
Thinking branches delete files
Believing branches speed up the computer
Confusing branches with deleting old versions
2. Which Git command correctly creates a new branch named dev?
easy
A. git create branch dev
B. git branch dev
C. git new dev
D. git start branch dev
Solution
Step 1: Recall Git branch creation syntax
The correct command to create a branch is git branch branch_name.
Step 2: Match the command with options
Only git branch dev matches the correct syntax.
Final Answer:
git branch dev -> Option B
Quick Check:
Correct branch command = C [OK]
Hint: Use 'git branch <branch_name>' to create branches [OK]
Common Mistakes:
Using 'git create branch' which is invalid
Trying 'git new' which is not a Git command
Using 'git start branch' which does not exist
3. What will be the output of the following commands?
git branch git checkout -b feature1 git branch
medium
A. * master\n feature1
B. feature1\n* master
C. * feature1\n master
D. master\n* feature1
Solution
Step 1: Understand initial branch list
First git branch shows * master (assuming on master).
Step 2: Analyze git checkout -b feature1
This creates and switches to feature1 branch, so next git branch shows * feature1 as current.
Step 3: Check output order
Branches are listed in the order they were created, so master then feature1. The star (*) marks current branch.
Final Answer:
master\n* feature1 -> Option D
Quick Check:
Current branch marked * = B [OK]
Hint: Star (*) marks current branch in 'git branch' output [OK]
Common Mistakes:
Confusing which branch is current
Mixing order of branches in output
Ignoring the star (*) symbol
4. You ran git checkout feature but got an error: error: pathspec 'feature' did not match any file(s) known to git. What is the likely problem?
medium
A. The branch 'feature' does not exist yet
B. You have uncommitted changes blocking checkout
C. You typed the command in the wrong folder
D. Git is not installed properly
Solution
Step 1: Understand the error message
The error says the branch name 'feature' is unknown to Git, meaning it does not exist.
Step 2: Identify the cause
Trying to checkout a branch that was never created causes this error.
Final Answer:
The branch 'feature' does not exist yet -> Option A
Quick Check:
Unknown branch error = D [OK]
Hint: Check if branch exists before checkout [OK]
Common Mistakes:
Assuming uncommitted changes cause this error
Thinking Git installation is broken
Ignoring the branch name spelling
5. You want to add a new feature without disturbing the main project. Which sequence of commands correctly uses branches to do this safely?
hard
A. git merge new-feature git branch new-feature make changes git commit -m 'Add feature'
B. git checkout main make changes git commit -m 'Add feature' git branch new-feature git merge main
C. git branch new-feature git checkout new-feature make changes git commit -m 'Add feature' git checkout main git merge new-feature
D. git commit -m 'Add feature' git branch new-feature git checkout new-feature git merge main
Solution
Step 1: Create and switch to a new branch
Use git branch new-feature then git checkout new-feature to isolate work.
Step 2: Make changes and commit on new branch
Make your changes and commit them safely on new-feature.
Step 3: Switch back and merge changes
Switch to main and merge new-feature to add the feature safely.
Final Answer:
git branch new-feature git checkout new-feature make changes git commit -m 'Add feature' git checkout main git merge new-feature -> Option C
Quick Check:
Branch, commit, merge sequence = A [OK]
Hint: Create branch, commit changes, then merge back [OK]