Bird
Raised Fist0
Gitdevops~20 mins

Deleting remote 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
🎖️
Remote Branch Deletion 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 deleting a remote branch?
You run the command git push origin --delete feature-xyz. What will be the output if the branch feature-xyz exists on the remote?
Git
git push origin --delete feature-xyz
Afatal: 'feature-xyz' is not a valid branch
Berror: unable to delete 'feature-xyz': remote ref does not exist
C
To github.com:user/repo.git
 - [deleted]         feature-xyz
DBranch 'feature-xyz' deleted locally
Attempts:
2 left
💡 Hint
Deleting a remote branch shows a message with [deleted] if successful.
Troubleshoot
intermediate
2:00remaining
Why does deleting a remote branch fail?
You run git push origin --delete hotfix but get the error: error: unable to delete 'hotfix': remote ref does not exist. What is the most likely cause?
Git
git push origin --delete hotfix
AThe branch 'hotfix' does not exist on the remote repository.
BYou do not have permission to delete branches on the remote.
CThe local branch 'hotfix' is not checked out.
DThe remote repository URL is incorrect.
Attempts:
2 left
💡 Hint
The error says 'remote ref does not exist'.
🔀 Workflow
advanced
3:00remaining
Correct sequence to delete a remote branch safely
Arrange the steps in the correct order to safely delete a remote branch named feature-abc:
A2,1,3,4
B1,2,3,4
C1,3,2,4
D2,3,1,4
Attempts:
2 left
💡 Hint
You must confirm the branch exists before deleting and avoid deleting the branch you are currently on.
Best Practice
advanced
2:00remaining
Best practice for deleting remote branches in a team
Which practice is best when deleting remote branches in a shared repository?
AOnly delete remote branches if you are the repository owner.
BDelete remote branches immediately after pushing changes without communication.
CDelete remote branches by directly removing them from the remote server filesystem.
DAlways inform your team before deleting a remote branch to avoid disrupting others.
Attempts:
2 left
💡 Hint
Think about teamwork and communication.
🧠 Conceptual
expert
2:00remaining
What happens to local branches after deleting the remote branch?
You delete a remote branch release using git push origin --delete release. What is the state of your local branch named release after this command?
AThe local branch is automatically deleted.
BThe local branch remains unchanged and still exists.
CThe local branch is renamed to 'release-deleted'.
DThe local branch is reset to match the remote's default branch.
Attempts:
2 left
💡 Hint
Deleting a remote branch does not affect local branches automatically.

Practice

(1/5)
1. What does the command git push origin --delete feature1 do?
easy
A. Deletes the remote branch named 'feature1' from the origin repository.
B. Deletes the local branch named 'feature1'.
C. Deletes all branches except 'feature1' on the remote.
D. Renames the remote branch 'feature1' to 'origin'.

Solution

  1. Step 1: Understand the command structure

    The command uses git push with origin to interact with the remote repository named 'origin'.
  2. Step 2: Interpret the --delete flag

    The --delete flag tells Git to remove the specified branch from the remote repository.
  3. Final Answer:

    Deletes the remote branch named 'feature1' from the origin repository. -> Option A
  4. Quick Check:

    Deleting remote branch = git push origin --delete branch-name [OK]
Hint: Use 'git push origin --delete branch' to remove remote branches [OK]
Common Mistakes:
  • Confusing remote branch deletion with local branch deletion
  • Using 'git branch -d' which deletes local branches only
  • Thinking '--delete' renames branches
  • Assuming it deletes all branches
2. Which of the following is the recommended modern syntax to delete a remote branch named bugfix?
easy
A. git push origin :bugfix
B. git push origin --remove bugfix
C. git branch -r -d bugfix
D. git push origin --delete bugfix

Solution

  1. Step 1: Review valid commands for deleting remote branches

    The modern and clear syntax is git push origin --delete branch-name.
  2. Step 2: Check each option

    git push origin :bugfix uses an older syntax but is valid; however, the question asks for the recommended modern syntax, which is the explicit --delete flag. git push origin --remove bugfix uses a non-existent flag --remove. git branch -r -d bugfix deletes local remote-tracking branches, not remote branches.
  3. Final Answer:

    git push origin --delete bugfix -> Option D
  4. Quick Check:

    Correct syntax = git push origin --delete branch [OK]
Hint: Use '--delete' flag with 'git push origin' to delete remote branch [OK]
Common Mistakes:
  • Using '--remove' instead of '--delete'
  • Confusing local branch deletion with remote
  • Using 'git branch -r -d' which only deletes local remote-tracking branches
  • Not specifying the remote name 'origin'
3. What will be the output or effect of running the command git push origin --delete release-v1.0 if the branch release-v1.0 exists on the remote?
medium
A. The remote branch 'release-v1.0' will be deleted and a success message shown.
B. The local branch 'release-v1.0' will be deleted.
C. An error saying branch does not exist will appear.
D. Nothing happens; the command is invalid.

Solution

  1. Step 1: Understand the command effect

    The command deletes the remote branch named 'release-v1.0' if it exists on the remote repository.
  2. Step 2: Predict the output

    If the branch exists, Git will delete it and show a success message confirming the deletion.
  3. Final Answer:

    The remote branch 'release-v1.0' will be deleted and a success message shown. -> Option A
  4. Quick Check:

    Deleting existing remote branch shows success [OK]
Hint: Deleting existing remote branch shows success message [OK]
Common Mistakes:
  • Thinking local branches are deleted
  • Expecting error if branch exists
  • Assuming command is invalid
  • Confusing remote branch deletion with local branch deletion
4. You ran git push origin --delete hotfix but got an error: error: unable to delete 'hotfix': remote ref does not exist. What is the most likely cause?
medium
A. The local branch 'hotfix' is checked out and cannot be deleted.
B. You do not have permission to delete branches on the remote.
C. The remote branch 'hotfix' does not exist on the remote repository.
D. The syntax of the command is incorrect.

Solution

  1. Step 1: Analyze the error message

    The error says 'remote ref does not exist', meaning the branch named 'hotfix' is not found on the remote.
  2. Step 2: Check command and permissions

    The command syntax is correct, and permission errors usually show different messages. The local branch state does not affect remote deletion.
  3. Final Answer:

    The remote branch 'hotfix' does not exist on the remote repository. -> Option C
  4. Quick Check:

    Remote branch missing causes 'remote ref does not exist' error [OK]
Hint: Check if remote branch exists before deleting [OK]
Common Mistakes:
  • Assuming local branch status affects remote deletion
  • Blaming permissions without checking branch existence
  • Mistaking syntax error for branch absence
  • Ignoring error message details
5. You want to delete multiple remote branches named feature1, feature2, and feature3 in one command using the --delete flag. Which of the following is the correct way to do this?
hard
A. git push origin :feature1 :feature2 :feature3
B. git push origin --delete feature1 && git push origin --delete feature2 && git push origin --delete feature3
C. git push origin --delete feature1 feature2 feature3
D. git branch -r -d feature1 feature2 feature3

Solution

  1. Step 1: Understand multi-branch deletion syntax

    Git does not support deleting multiple remote branches in one command by listing them after --delete. You must run separate commands or use multiple --delete flags.
  2. Step 2: Evaluate options

    git push origin --delete feature1 feature2 feature3 is invalid syntax and will cause an error. git push origin --delete feature1 && git push origin --delete feature2 && git push origin --delete feature3 runs multiple commands separately, which works correctly. git push origin :feature1 :feature2 :feature3 uses old syntax without the --delete flag and may not be recommended. git branch -r -d feature1 feature2 feature3 deletes local remote-tracking branches, not remote branches.
  3. Final Answer:

    git push origin --delete feature1 && git push origin --delete feature2 && git push origin --delete feature3 -> Option B
  4. Quick Check:

    Multiple remote branches deleted by running separate commands with --delete [OK]
Hint: Run separate 'git push origin --delete branch' commands to remove multiple remotes [OK]
Common Mistakes:
  • Trying to delete multiple branches with old syntax
  • Using invalid multi-branch --delete syntax
  • Confusing local remote-tracking branch deletion with remote
  • Not listing all branches after --delete