git push local branch with same name as remote tag

youri picture youri · Feb 21, 2012 · Viewed 77.7k times · Source

I'm trying to push a new local branch product-0.2 to remote where there is already a tag with the same name (but the branch itself does not exist)

git push -v --tags --set-upstream origin product-0.2:product-0.2 
Pushing to https://****@github.com/mycompany/product.git
error: src refspec product-0.2 matches more than one.
error: failed to push some refs to 'https://****@github.com/mycompany/product.git'

Same with:

git push origin product-0.2:/refs/heads/product-0.2 

Although the other way around it works, e.g. create a branch product-0.1, commit on it then apply a tag product-0.1.

Some people work around this by removing the conflicting tag locally, then push the branch, then retrieve the remote tag, but it seems cumbersome and error prone.

How can I create my branch with minimal fuss?

Thanks for your input

Answer

ralphtheninja picture ralphtheninja · Feb 21, 2012

The following command should work.

git push origin refs/heads/product-0.2:refs/heads/product-0.2