When deleting remote git branch "error: unable to push to unqualified destination"

I'm trying to delete a remote git branch with

git push origin :my_remote_branch

and getting:

error: unable to push to unqualified destination: my_remote_branch
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to '[email protected]:/myrepo'

these are my current branches

git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/my_remote_branch

git branch -r --merged
  origin/HEAD -> origin/master
  origin/develop
  origin/master

Any ideas on how I can get rid of this branch would be appreciated.


Solution 1:

The fact that refs/remotes/origin/my_remote_branch exists in your local repository does not imply refs/heads/my_remote_branch exists in the origin remote repository.

Do git fetch -p origin to make refs/remotes/origin/my_remote_branch go away if it's already deleted in origin. The -p option tells fetch to delete any tracking branches that no longer exist in the corresponding remotes; by default they are kept around.

Solution 2:

Found question cleaning up old remote git branches and this did the trick

git branch -r -d origin/my_remote_branch