Bird
Raised Fist0
Gitdevops~20 mins

Listing branches in Git - Practice Problems & Coding Challenges

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
🎖️
Branch Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of 'git branch' after creating two branches?
You have a Git repository with the default branch named main. You run these commands:

git branch feature1
git branch feature2

Then you run git branch. What is the output?
Git
git branch feature1
git branch feature2
git branch
A
  main
  feature1
  feature2
B
* feature1
  feature2
  main
C
* main
* feature1
* feature2
D
  feature1
  feature2
* main
Attempts:
2 left
💡 Hint
The asterisk (*) marks the current branch.
💻 Command Output
intermediate
1:30remaining
What does 'git branch -r' show?
You cloned a repository and run git branch -r. What does this command list?
Git
git branch -r
ALists all remote-tracking branches
BLists all local branches
CLists all branches including local and remote
DLists all tags in the repository
Attempts:
2 left
💡 Hint
Remote branches are branches on the server you cloned from.
Configuration
advanced
2:00remaining
How to list branches sorted by last commit date?
You want to list all local branches sorted by the date of their last commit, most recent first. Which command achieves this?
Agit branch --sort=-committerdate
Bgit branch --sort=authorname
Cgit branch --sort=refname
Dgit branch --sort=-authordate
Attempts:
2 left
💡 Hint
The --sort option can sort by commit dates; the minus sign reverses order.
Troubleshoot
advanced
2:00remaining
Why does 'git branch' show no branches after cloning?
You cloned a remote repository with git clone https://example.com/repo.git. Then you run git branch and see no output. Why?
AThe repository has no branches on the remote
BYou cloned with --bare option, so no local branches exist
CYou are in a detached HEAD state after cloning
DYou need to run 'git fetch' to get branches
Attempts:
2 left
💡 Hint
Bare repositories do not have working copies or local branches.
Best Practice
expert
2:30remaining
Which command safely lists all branches including remote and local with verbose info?
You want to see all branches, local and remote, with last commit info, in a single command. Which is the best command?
Agit branch -r -v
Bgit branch --all --sort=-committerdate
Cgit branch -a -v
Dgit branch -v --merged
Attempts:
2 left
💡 Hint
The -a option shows all branches, -v adds commit info.

Practice

(1/5)
1. What does the command git branch show by default?
easy
A. All remote branches in the repository
B. All local branches in the repository
C. All branches, both local and remote
D. The current branch only

Solution

  1. Step 1: Understand the default behavior of git branch

    The command git branch without any options lists only the local branches in your repository.
  2. Step 2: Differentiate from remote branches

    Remote branches require the -r option, and all branches require -a. So by default, it shows local branches only.
  3. Final Answer:

    All local branches in the repository -> Option B
  4. Quick Check:

    Default git branch = local branches [OK]
Hint: No option means local branches only [OK]
Common Mistakes:
  • Confusing local with remote branches
  • Thinking it shows all branches by default
  • Assuming it shows only the current branch
2. Which command correctly lists all remote branches in a Git repository?
easy
A. git branch -r
B. git branch -a
C. git branch --remote-list
D. git branch --all-remote

Solution

  1. Step 1: Identify the option for remote branches

    The option -r with git branch lists all remote branches.
  2. Step 2: Verify other options

    -a lists all branches (local + remote), but the question asks only for remote branches. The other options are invalid.
  3. Final Answer:

    git branch -r -> Option A
  4. Quick Check:

    -r means remote branches [OK]
Hint: Use -r to list remote branches only [OK]
Common Mistakes:
  • Using -a to list only remote branches
  • Typing invalid options like --remote-list
  • Confusing remote with local branches
3. You want to list all branches but exclude remote branches from the output. Which command should you use?
easy
A. git branch -r
B. git branch -a
C. git branch
D. git branch --no-remote

Solution

  1. Step 1: Understand the requirement

    You want to list all branches but exclude remote branches, so only local branches should appear.
  2. Step 2: Identify the correct command

    git branch by default lists only local branches. git branch -a lists all branches including remote, git branch -r lists only remote branches, and git branch --no-remote is invalid.
  3. Final Answer:

    git branch -> Option C
  4. Quick Check:

    Default git branch = local branches only [OK]
Hint: No option lists local branches only [OK]
Common Mistakes:
  • Using git branch -a, which includes remote branches
  • Using invalid options like --no-remote
  • Confusing remote and local branch listings
4. What is the output of the command git branch -a if your repository has local branches main, dev and remote branches origin/main, origin/feature?
medium
A. * main\n dev\n remotes/origin/main\n remotes/origin/feature
B. * main\n dev
C. remotes/origin/main\nremotes/origin/feature
D. * origin/main\n origin/feature

Solution

  1. Step 1: Understand git branch -a output format

    This command lists all branches: local branches are shown plainly, remote branches are prefixed with remotes/.
  2. Step 2: Match branches to output

    Local branches main and dev appear without prefix. Remote branches appear as remotes/origin/main and remotes/origin/feature. The current branch is marked with *.
  3. Final Answer:

    * main\n dev\n remotes/origin/main\n remotes/origin/feature -> Option A
  4. Quick Check:

    -a shows all branches with remotes/ prefix [OK]
Hint: All branches show; remotes have remotes/ prefix [OK]
Common Mistakes:
  • Missing remotes/ prefix for remote branches
  • Showing only local or only remote branches
  • Not marking current branch with *
5. You ran git branch -r but got an error: error: unknown option '-r'. What is the likely cause?
medium
A. You need to use git remote branch instead
B. You typed git branch -r in a non-Git directory
C. You forgot to fetch remote branches first
D. You used an old Git version that does not support -r

Solution

  1. Step 1: Analyze the error message

    The error says unknown option '-r', meaning Git does not recognize the -r flag.
  2. Step 2: Identify possible causes

    This usually happens if the Git version is very old and does not support -r with git branch. Other options would give different errors or no error.
  3. Final Answer:

    You used an old Git version that does not support -r -> Option D
  4. Quick Check:

    Old Git versions lack -r option [OK]
Hint: Check Git version if options cause unknown errors [OK]
Common Mistakes:
  • Assuming wrong command syntax
  • Thinking fetch is required to list remote branches
  • Confusing directory errors with option errors