Git 刪除一個遠程分支時報錯,如下:
Ricky@TiFX MINGW64 /f/MyProject/juice (master)
$ git push origin --delete 0.1.0
error: dst refspec 0.1.0 matches more than one.
error: failed to push some refs to 'git@github.com:TiFG/juice.git'
出現(xiàn)這個錯誤的原因是在于遠程Git服務器上名稱為0.1.0的有兩個對象:一個是tag阅懦,一個是分支矾端;也就是說tag分支和branch分支同名了日熬,在執(zhí)行 git push origin --delete 0.1.0
這個命令時Git服務器不知道要刪除哪個。
解決辦法
解決辦法自然是明確告訴Git服務器要刪除的是tag 還是 分支盆繁。
1掀淘、刪除分支
刪除名稱為0.1.0分支:
git push origin :refs/heads/0.1.0
命令行執(zhí)行如下:
Ricky@TiFX MINGW64 /f/MyProject/juice (master)
$ git push origin :refs/heads/0.1.0
To github.com:TiFG/juice.git
- [deleted] 0.1.0
2、刪除tag
刪除名稱為0.1.0 的tag
git push origin :refs/tags/0.1.0
日常開發(fā)中油昂,在命名分支和tag的時候應當使用不同的名稱革娄,盡量避免重名倾贰。