免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Git-error: dst refspec branch matches more than one 

 問題是如何發(fā)現(xiàn)的

今天整理之前的老項目,發(fā)現(xiàn)前期遺留下很多無用分支,于是,有點強迫癥的我就刪刪刪,刪出了下列這個錯誤:

當時嚇了我一跳,以為自己不小心錯誤操作了什么,然而并不是,刪除其他的分支還是正常的,就是只有其中一個分支不行。

然后我 Google 了這個問題,果然遇到錯誤的不是我一個人(這個心理活動,真的每次都會有····)

error: dst refspec dev_test matches more than one.

當遠程倉庫同時存在相同名稱的 branch 和 tag 時,不指明絕對路徑的前提下,操作這個名稱的 branch 和 tag 都會出現(xiàn)這個問題。

答案先行

解決方法很簡單,指明操作對象的絕對路徑就能準確操作了

對象路徑
branchrefs/heads/branch_name
tagrefs/tags/tag_name

舉個刪除的例子:
//刪除 dev_test 分支git push origin :refs/heads/dev_test//刪除 dev_test 標簽git push origin :refs/tags/dev_test

看這里可以驗證真相

error: dst refspec dev_test matches more than one.

其實,仔細看看返回的錯誤提示,基本都明白了。(是的,其實當時我沒看懂)
上面的提示指出失敗原因是 在 refspec 中 ,dev_test這個名字,對應了多個。

于是,我就去項目的 .git/refs中看了一下,果然如此

得了一種非要自己試試才能相信的病

我承認,我有病,一種非要自己試試才能相信的病,特別是,最近剛開始用 git 命令行 ,總想自己敲敲敲,感覺很爽。

我準備創(chuàng)建一個叫 dev_test的分支和標簽,然后刪除一下試試看,重現(xiàn)錯誤。

我腦海中的重現(xiàn)命令行是這樣的:

1.git branch branch dev_test  //創(chuàng)建本地分支 dev_test2.git push origin dev_test    //創(chuàng)建遠程分支 dev_test3.git tag dev_test            //創(chuàng)建本地標簽 dev_test4.git push origin dev_test    //創(chuàng)建遠程標簽 dev_test5.git push origin :dev_test   //刪除遠程分支 dev_test//然后出現(xiàn)錯誤

事實是到到第4步就出現(xiàn)了這個錯誤,如下:

那我真是好奇了,當初我們的開發(fā)是怎么做到,把相同的分支和標簽給推上去遠程的?

參考問題的解決方法,我嘗試使用完成路徑推送,果然成功了,命令如下:

git push origin refs/tags/dev_test

好吧,到這里,下面的刪除遠程 dev_test命令,我用眉毛想都知道百分之百會報錯。

# 總結(jié)

重現(xiàn)問題的過程中,對 git 的認知又更加清楚了一點。
一是,git 真的很智能,當我們使用 git push origin <name>的時候,會自動判斷 <name> 在本地版本中是 branch 還是 tag ,然后分別推送對應的位置。

二是,第一次對.git 文件夾中的目錄結(jié)構(gòu)和對應的內(nèi)容感覺到一種非常強烈的好奇,好想知道 git 是怎么把代碼管理的這么井井有條,使用起來這么方便的。

三是,Linus Torvalds 真是太強大了。

加油!

PS:

測試完之后,我試圖刪除這個遠程倉庫用來測試的dev_test分支,但是遇到了一個新的錯誤,如下:

原因是因為當時dev_test是遠程倉庫的默認分支,無法刪除,去 github 把遠程倉庫的默認分支修改一下就好了。

具體見: Git- [!remote rejected]:refusing to delete the current branch

歡迎關(guān)注個人微信公眾號,最新的博客,好玩的事情,都會在上面分享,期待與你共同成長。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
git 命令創(chuàng)建本地分支,查看本地分支和切換本地分支
error: src refspec test does not match any.
Git常用方法小結(jié)
git干貨系列:(五)多人協(xié)同工作之分支管理 | 嘟嘟獨立博客
Git和Github的最常用命令有哪些?
git學習筆記
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服