Git – deleting the current branch is denied
Here’s a solution if you ever get the following error when trying to delete the master branch in a remote repository:
remote: error: By default, deleting the current branch is denied, because the next remote: error: 'git clone' won't result in any file checked out, causing confusion. remote: error: remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the remote: error: current branch, with or without a warning message. remote: error: remote: error: To squelch this message, you can set it to 'refuse'. remote: error: refusing to delete the current branch: refs/heads/master To /somewhere/in/the/cloud/repo.git ! [remote rejected] master (deletion of the current branch prohibited) error: failed to push some refs to '/somewhere/in/the/cloud/repo.git'
The reason you’re seeing the error is that HEAD on the remote repository by default contains something like this (see also line 9 in the error message above):
ref: refs/heads/master
If you have access to the remote repository, simply modify the HEAD file to point to a different branch and then you’ll be able to delete the remote master branch. There are some significant implications to modifying the remote HEAD, especially if other users are tracking that branch, so make sure you know what you’re doing if you choose to point it to some other arbitrary branch.