Bird
Raised Fist0
Gitdevops~20 mins

Listing worktrees in Git - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Worktree 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 worktree list after adding a new worktree?
You have a main repository and you run git worktree add ../feature-branch feature. What will git worktree list show?
A
../feature-branch 123abc [detached HEAD]
.
B
../feature-branch 123abc [master]
.
CNo output, command fails
D
../feature-branch 123abc [feature]
.
Attempts:
2 left
💡 Hint
The new worktree points to the branch you specify, not master or detached HEAD.
🧠 Conceptual
intermediate
1:30remaining
Which command correctly lists all worktrees with their paths and HEAD commits?
You want to see all worktrees linked to your repository with their paths and current HEAD commit hashes. Which command do you use?
Agit worktree show
Bgit worktree list
Cgit worktree status
Dgit worktree info
Attempts:
2 left
💡 Hint
The command to list worktrees is simple and direct.
❓ Troubleshoot
advanced
2:00remaining
Why does git worktree list show only one worktree after adding multiple?
You added two worktrees using git worktree add but git worktree list shows only one. What is the most likely cause?
AThe second worktree was added outside the main repository folder and not linked properly
BYou need to run <code>git worktree refresh</code> to update the list
CThe second worktree was added but on a detached HEAD, so it is hidden
DThe <code>git worktree list</code> command only shows the main worktree by default
Attempts:
2 left
💡 Hint
Worktrees must be linked inside the repository's control.
✅ Best Practice
advanced
2:00remaining
What is the recommended way to clean up unused worktrees?
You have several worktrees listed by git worktree list but some are no longer needed. What is the best practice to remove them?
AJust delete the folder; Git will auto-detect and clean later
BRun <code>git worktree prune</code> without removing folders
CUse <code>git worktree remove &lt;path&gt;</code> to safely remove the worktree
DDelete the worktree folder manually and run <code>git gc</code>
Attempts:
2 left
💡 Hint
Git provides a command to safely remove worktrees.
🔀 Workflow
expert
3:00remaining
In what order do these commands list and clean worktrees safely?
Arrange these commands in the correct order to list all worktrees, remove an unused one, and then verify cleanup:
A1,2,3,4
B2,1,3,4
C1,3,2,4
D1,2,4,3
Attempts:
2 left
💡 Hint
First list, then remove, prune, and list again to confirm.

Practice

(1/5)
1. What does the command git worktree list do?
easy
A. Deletes all existing worktrees
B. Shows the commit history of the current branch
C. Creates a new worktree
D. Shows all the linked worktrees with their paths and branches

Solution

  1. Step 1: Understand the purpose of git worktree list

    This command lists all worktrees connected to the repository, showing their folder paths and branches.
  2. Step 2: Compare with other options

    Options A and C describe deleting or creating worktrees, which are done by different commands. Shows the commit history of the current branch shows commit history, unrelated to worktrees.
  3. Final Answer:

    Shows all the linked worktrees with their paths and branches -> Option D
  4. Quick Check:

    List worktrees = B [OK]
Hint: Remember: 'list' shows all worktrees and their details [OK]
Common Mistakes:
  • Confusing 'list' with 'add' or 'remove' commands
  • Thinking it shows commit history
  • Assuming it deletes worktrees
2. Which of the following is the correct syntax to list all git worktrees?
easy
A. git worktree show
B. git worktree ls
C. git worktree list
D. git worktree status

Solution

  1. Step 1: Recall the exact command for listing worktrees

    The correct command is git worktree list to display all worktrees.
  2. Step 2: Verify other options

    Options A, B, and D are invalid or do not exist in git worktree commands.
  3. Final Answer:

    git worktree list -> Option C
  4. Quick Check:

    Correct syntax for listing = C [OK]
Hint: Use full command 'git worktree list' to avoid errors [OK]
Common Mistakes:
  • Using 'show' or 'status' instead of 'list'
  • Shortening 'list' to 'ls' which is invalid
  • Confusing with other git commands
3. Given the output of git worktree list below, what branch is checked out in the worktree at /projects/myrepo/feature?
/projects/myrepo  123abc [main]
/projects/myrepo/feature  456def [feature-branch]
medium
A. main
B. feature-branch
C. 123abc
D. 456def

Solution

  1. Step 1: Identify the worktree path in the output

    The path /projects/myrepo/feature corresponds to the second line in the output.
  2. Step 2: Read the branch name in brackets

    The branch checked out there is feature-branch, shown in square brackets.
  3. Final Answer:

    feature-branch -> Option B
  4. Quick Check:

    Branch at /feature = feature-branch [OK]
Hint: Branch name is always in brackets after path [OK]
Common Mistakes:
  • Confusing commit hashes with branch names
  • Picking the wrong line for the path
  • Ignoring the brackets around branch names
4. You ran git worktree list but got an error: fatal: 'worktree' is not a git command. What is the most likely cause?
medium
A. Your git version is too old and does not support worktrees
B. You typed 'worktree' instead of 'worktrees'
C. You are not inside a git repository
D. You need to initialize worktrees with a special command first

Solution

  1. Step 1: Understand the error message

    The error means git does not recognize the 'worktree' command, likely due to version.
  2. Step 2: Check git version support

    Worktrees were introduced in git 2.5+. Older versions lack this command.
  3. Final Answer:

    Your git version is too old and does not support worktrees -> Option A
  4. Quick Check:

    Unsupported git version = A [OK]
Hint: Check git version if 'worktree' command not found [OK]
Common Mistakes:
  • Assuming typo in command name
  • Thinking worktrees need special init
  • Not verifying git version
5. You have multiple worktrees for your project. You want to list all worktrees and filter only those on the branch named 'release'. Which command combination will achieve this?
hard
A. git worktree list | grep release
B. git worktree list --branch release
C. git worktree show release
D. git worktree list --filter=branch=release

Solution

  1. Step 1: Understand git worktree list filtering options

    Git worktree list does not have built-in branch filtering options like --branch or --filter.
  2. Step 2: Use shell tools to filter output

    Using grep release after listing worktrees filters lines containing 'release', showing only those branches.
  3. Final Answer:

    git worktree list | grep release -> Option A
  4. Quick Check:

    Filter branches by grep after list = D [OK]
Hint: Use shell grep to filter worktree list output by branch [OK]
Common Mistakes:
  • Assuming git worktree list supports --branch or --filter
  • Using 'show' instead of 'list'
  • Expecting git to filter output internally
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard