Bird
Raised Fist0
Gitdevops~5 mins

Removing worktrees in Git - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a Git worktree?
A Git worktree is an additional working directory linked to the same Git repository, allowing you to work on multiple branches simultaneously without switching branches in one directory.
Click to reveal answer
beginner
How do you list all existing Git worktrees?
Use the command git worktree list to see all worktrees connected to your repository.
Click to reveal answer
beginner
What is the command to remove a Git worktree safely?
Use git worktree remove <path> to safely remove a worktree at the specified path. This deletes the worktree directory and unregisters it from Git.
Click to reveal answer
intermediate
What happens if you manually delete a Git worktree directory without using Git commands?
Manually deleting the directory leaves Git unaware of the removal, causing git worktree list to still show it. This can cause confusion or errors later.
Click to reveal answer
intermediate
Why should you use git worktree remove instead of just deleting the folder?
Because git worktree remove cleans up Git's internal records and safely deletes the worktree folder, preventing stale references and potential repository issues.
Click to reveal answer
Which command lists all Git worktrees?
Agit worktree list
Bgit worktree show
Cgit list worktrees
Dgit worktree status
What does git worktree remove <path> do?
ARemoves the worktree directory and unregisters it from Git
BOnly deletes the worktree directory but keeps Git records
CSwitches the current branch to the worktree branch
DCreates a new worktree at the given path
What risk comes from deleting a worktree folder manually?
AGit will create a new worktree automatically
BThe repository will be deleted
CBranches will be merged automatically
DGit still thinks the worktree exists, causing stale references
Can you remove the main worktree with git worktree remove?
AYes, but only if you are on the master branch
BNo, the main worktree cannot be removed this way
CYes, it removes the main worktree safely
DNo, you must delete it manually
What is the first step before removing a worktree?
ASwitch to the main branch in the worktree
BDelete the .git folder inside the worktree
CMake sure no processes are using the worktree directory
DRun git fetch
Explain how to safely remove a Git worktree and why it is important.
Think about what happens inside Git when you remove a worktree.
You got /4 concepts.
    Describe what a Git worktree is and how it helps in working with branches.
    Imagine having multiple folders for different tasks in the same project.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the command git worktree remove <path> do?
      easy
      A. Deletes the specified extra worktree folder and unregisters it from Git.
      B. Creates a new worktree at the specified path.
      C. Lists all existing worktrees in the repository.
      D. Resets the current branch to the specified commit.

      Solution

      1. Step 1: Understand the command purpose

        The command git worktree remove <path> is used to remove an extra worktree folder from your Git repository.
      2. Step 2: Effect of the command

        It deletes the worktree folder at the given path and unregisters it from Git, keeping the project clean.
      3. Final Answer:

        Deletes the specified extra worktree folder and unregisters it from Git. -> Option A
      4. Quick Check:

        Remove worktree = Delete folder + unregister [OK]
      Hint: Remove worktree means delete folder and unregister it [OK]
      Common Mistakes:
      • Confusing remove with create or list commands
      • Thinking it resets branches
      • Assuming it only unregisters without deleting folder
      2. Which of the following is the correct syntax to remove a worktree located at ./feature-branch?
      easy
      A. git worktree remove ./feature-branch
      B. git worktree rm ./feature-branch
      C. git remove worktree ./feature-branch
      D. git worktree delete ./feature-branch

      Solution

      1. Step 1: Recall correct command syntax

        The correct command to remove a worktree is git worktree remove <path>.
      2. Step 2: Match the syntax with options

        git worktree remove ./feature-branch matches the correct syntax exactly: git worktree remove ./feature-branch.
      3. Final Answer:

        git worktree remove ./feature-branch -> Option A
      4. Quick Check:

        Remove worktree syntax = git worktree remove [OK]
      Hint: Use 'git worktree remove' followed by path [OK]
      Common Mistakes:
      • Using 'delete' instead of 'remove'
      • Swapping command order like 'git remove worktree'
      • Using shorthand 'rm' which is invalid here
      3. Given you have a worktree at ./dev, what will be the output of running git worktree list after git worktree remove ./dev?
      medium
      A. The list will still show ./dev but marked as removed.
      B. The list will no longer show the ./dev worktree.
      C. The command will fail with an error about ./dev.
      D. The list will show ./dev and all other worktrees unchanged.

      Solution

      1. Step 1: Understand what 'git worktree remove' does

        It deletes the worktree folder and unregisters it from Git, so it is no longer tracked.
      2. Step 2: Effect on 'git worktree list'

        After removal, the worktree at ./dev will not appear in the list anymore.
      3. Final Answer:

        The list will no longer show the ./dev worktree. -> Option B
      4. Quick Check:

        Remove worktree means it disappears from list [OK]
      Hint: Removed worktrees vanish from 'git worktree list' output [OK]
      Common Mistakes:
      • Expecting removed worktree to still appear in list
      • Thinking it shows as 'removed' but still listed
      • Assuming command errors out after removal
      4. You tried to remove a worktree with git worktree remove ./test but got an error saying the path is not a worktree. What is the likely cause?
      medium
      A. The repository is corrupted and needs reinitialization.
      B. You need to use git worktree delete instead of remove.
      C. You must be on the main branch to remove any worktree.
      D. The path ./test does not exist or is not registered as a worktree.

      Solution

      1. Step 1: Analyze the error message

        The error says the path is not a worktree, meaning Git does not recognize it as one.
      2. Step 2: Identify common causes

        This usually happens if the path does not exist or was never added as a worktree.
      3. Final Answer:

        The path ./test does not exist or is not registered as a worktree. -> Option D
      4. Quick Check:

        Path must exist and be registered to remove [OK]
      Hint: Check path exists and is registered worktree before removing [OK]
      Common Mistakes:
      • Using wrong command like 'delete' instead of 'remove'
      • Assuming branch affects removal
      • Thinking repo corruption causes this error
      5. You have multiple worktrees: ./feature1, ./feature2, and ./feature3. You want to remove ./feature2 but keep its changes saved. What is the best approach?
      hard
      A. Run git worktree remove ./feature2 without saving changes; Git saves them automatically.
      B. Directly delete the ./feature2 folder without Git commands.
      C. Commit or stash changes in ./feature2, then run git worktree remove ./feature2.
      D. Switch to main branch and delete ./feature2 folder manually.

      Solution

      1. Step 1: Preserve changes before removal

        To keep changes in a worktree, you must commit or stash them before removing the worktree.
      2. Step 2: Remove the worktree properly

        After saving changes, use git worktree remove ./feature2 to safely remove the worktree folder and unregister it.
      3. Final Answer:

        Commit or stash changes in ./feature2, then run git worktree remove ./feature2. -> Option C
      4. Quick Check:

        Save changes first, then remove worktree [OK]
      Hint: Save changes (commit/stash) before removing worktree [OK]
      Common Mistakes:
      • Deleting folder manually causing data loss
      • Assuming Git auto-saves changes on remove
      • Removing without saving changes first
      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