Bird
Raised Fist0
Gitdevops~20 mins

Deleting 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 Deletion Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
1:30remaining
Output of deleting a local branch
What is the output of the command git branch -d feature1 if the branch feature1 has been fully merged into main?
Git
git branch -d feature1
ADeleted branch feature1 (was abc1234).
Berror: The branch 'feature1' is not fully merged.
Cfatal: branch 'feature1' not found.
Dwarning: branch 'feature1' is currently checked out.
Attempts:
2 left
💡 Hint
Deleting a branch that is fully merged succeeds with a confirmation message.
💻 Command Output
intermediate
1:30remaining
Error when deleting unmerged local branch
What error message appears when running git branch -d feature2 if feature2 has unmerged changes?
Git
git branch -d feature2
ADeleted branch feature2 (was def5678).
Berror: The branch 'feature2' is not fully merged.
Cfatal: branch 'feature2' not found.
Dwarning: branch 'feature2' is currently checked out.
Attempts:
2 left
💡 Hint
The -d option refuses to delete branches with unmerged changes.
💻 Command Output
advanced
1:30remaining
Deleting a remote branch output
What is the output of the command git push origin --delete feature3 when the remote branch feature3 exists and is deleted successfully?
Git
git push origin --delete feature3
Afatal: unable to delete branch feature3
Berror: remote ref does not exist
C
To origin
 - [deleted]         feature3
Dwarning: branch 'feature3' is currently checked out.
Attempts:
2 left
💡 Hint
Successful remote deletion shows the branch name with [deleted].
Troubleshoot
advanced
2:00remaining
Troubleshooting remote branch deletion failure
You run git push origin --delete feature4 but get the error error: unable to delete 'feature4': remote ref does not exist. What is the most likely cause?
AThe branch 'feature4' does not exist on the remote repository.
BYou do not have permission to delete branches on the remote.
CThe local branch 'feature4' is currently checked out.
DThe remote repository is unreachable due to network issues.
Attempts:
2 left
💡 Hint
The error says the remote ref does not exist.
Best Practice
expert
2:30remaining
Best practice for safely deleting branches
Which option describes the safest practice to delete a local branch that might have unmerged work?
AUse <code>git branch -D branch_name</code> to force delete without checking merge status.
BDelete the branch directly on the remote without checking local branches.
CRename the branch instead of deleting to keep history.
DUse <code>git branch -d branch_name</code> and verify merge status before deleting.
Attempts:
2 left
💡 Hint
Safe deletion avoids losing unmerged work.

Practice

(1/5)
1. What does the command git branch -d feature do?
easy
A. Deletes the remote branch named 'feature'.
B. Deletes the local branch named 'feature' only if it is fully merged.
C. Force deletes the local branch named 'feature' regardless of merge status.
D. Creates a new branch named 'feature'.

Solution

  1. Step 1: Understand the command syntax

    The command git branch -d is used to delete a local branch safely.
  2. Step 2: Check the merge condition

    The -d option deletes the branch only if it has been fully merged to avoid losing work.
  3. Final Answer:

    Deletes the local branch named 'feature' only if it is fully merged. -> Option B
  4. Quick Check:

    git branch -d safely deletes merged branches [OK]
Hint: Use -d to delete merged branches safely [OK]
Common Mistakes:
  • Confusing -d with -D which force deletes
  • Thinking it deletes remote branches
  • Assuming it deletes unmerged branches
2. Which command correctly force deletes a local branch named bugfix?
easy
A. git branch -D bugfix
B. git branch -d bugfix
C. git push origin --delete bugfix
D. git delete branch bugfix

Solution

  1. Step 1: Identify force delete option

    The -D option in git branch force deletes a local branch even if unmerged.
  2. Step 2: Confirm command correctness

    git branch -D bugfix is the correct syntax to force delete the local branch named 'bugfix'.
  3. Final Answer:

    git branch -D bugfix -> Option A
  4. Quick Check:

    Force delete local branch = git branch -D [OK]
Hint: Use -D to force delete local branches [OK]
Common Mistakes:
  • Using -d which only deletes merged branches
  • Trying to delete remote branch with local command
  • Typing invalid commands like git delete branch
3. What is the output of the command git push origin --delete release if the remote branch release exists?
medium
A. Deletes the remote branch 'release' and shows confirmation.
B. Deletes the local branch 'release' only.
C. Shows an error because the syntax is incorrect.
D. Creates a new remote branch named 'release'.

Solution

  1. Step 1: Understand the command purpose

    git push origin --delete release is used to remove a branch from the remote repository named 'origin'.
  2. Step 2: Confirm the effect on remote branch

    If the remote branch 'release' exists, this command deletes it and shows a confirmation message.
  3. Final Answer:

    Deletes the remote branch 'release' and shows confirmation. -> Option A
  4. Quick Check:

    Remote branch deletion uses git push origin --delete [OK]
Hint: Use git push origin --delete to remove remote branches [OK]
Common Mistakes:
  • Thinking it deletes local branches
  • Using wrong syntax causing errors
  • Assuming it creates branches
4. You run git branch -d feature but get an error saying the branch is not fully merged. What should you do to delete it anyway?
medium
A. Rename the branch before deleting.
B. Use git push origin --delete feature to delete locally.
C. Run git branch -d feature again.
D. Use git branch -D feature to force delete the branch.

Solution

  1. Step 1: Understand the error cause

    The error means the branch 'feature' has changes not merged to other branches.
  2. Step 2: Use force delete option

    To delete it anyway, use git branch -D feature which forces deletion regardless of merge status.
  3. Final Answer:

    Use git branch -D feature to force delete the branch. -> Option D
  4. Quick Check:

    Force delete unmerged branch = git branch -D [OK]
Hint: Use -D to force delete unmerged branches [OK]
Common Mistakes:
  • Trying to delete remote branch with local command
  • Repeating the same command without force
  • Renaming branch does not delete it
5. You want to delete a branch named hotfix both locally and remotely. Which sequence of commands is correct?
hard
A. git branch -d hotfix && git push origin --delete hotfix
B. git push origin --delete hotfix && git branch -d hotfix
C. git branch -D hotfix && git push origin --delete hotfix
D. git branch -d hotfix && git branch -D hotfix

Solution

  1. Step 1: Delete local branch forcefully

    Use git branch -D hotfix to delete the local branch even if unmerged.
  2. Step 2: Delete remote branch

    Use git push origin --delete hotfix to remove the branch from the remote repository.
  3. Final Answer:

    git branch -D hotfix && git push origin --delete hotfix -> Option C
  4. Quick Check:

    Force delete local then delete remote = git branch -D hotfix && git push origin --delete hotfix [OK]
Hint: Force delete local then delete remote branch [OK]
Common Mistakes:
  • Deleting remote before local can cause confusion
  • Using -d instead of -D for local unmerged branches
  • Trying to delete local branch twice