Bird
Raised Fist0
Gitdevops~3 mins

Listing branches in Git - Commands & Configuration

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 with Git, you often create multiple branches to work on different features or fixes. Listing branches helps you see all the branches available in your project so you can switch or manage them easily.
When you want to see all the branches you have created locally in your project.
When you want to check which branch you are currently working on.
When you want to see all branches available on the remote repository.
When you want to clean up old branches by seeing which ones exist.
When you want to verify that a new branch was created successfully.
Commands
This command lists all local branches in your Git repository and highlights the current branch with an asterisk.
Terminal
git branch
Expected OutputExpected
main * feature-login bugfix-typo
This command lists all branches, both local and remote, so you can see everything available in your project.
Terminal
git branch -a
Expected OutputExpected
main * feature-login bugfix-typo remotes/origin/main remotes/origin/feature-login remotes/origin/bugfix-typo
-a - Show all branches, including remote-tracking branches
This command lists only the remote branches, which are branches stored on the remote server.
Terminal
git branch -r
Expected OutputExpected
origin/main origin/feature-login origin/bugfix-typo
-r - Show only remote branches
Key Concept

If you remember nothing else from this pattern, remember: use 'git branch' to see your local branches and 'git branch -a' to see all branches including remote ones.

Common Mistakes
Running 'git branch' expecting to see remote branches.
By default, 'git branch' only shows local branches, so remote branches won't appear.
Use 'git branch -a' to list all branches including remote ones.
Confusing the current branch indicator '*' as part of the branch name.
The asterisk '*' only marks the current branch and is not part of the branch name.
Ignore the '*' when typing branch names; it just shows which branch you are on.
Summary
Use 'git branch' to list all local branches and see which one is active.
Use 'git branch -a' to list all branches including remote ones.
Use 'git branch -r' to list only remote branches.

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