我意外地創建了一個分支並將其推送到原點。我從另一個分支創建它,但沒有提交任何更改,所以它應該與原始分支「相同」。無法刪除或修剪沒有提交的遠程分支
我想刪除的分支,所以我第一次刪除它在本地:
git branch -d <branch_name>
,然後我想從遠程位置刪除:
git push origin :<branch_name>
但是這給了我錯誤:
error: unable to push to unqualified destination: 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. fatal: The remote end hung up unexpectedly
我在StackOverflow的另一個線程中發現有關此錯誤的信息(Cannot delete a remote branch created unintentionally),並在其他網站(git: prune to remove old remote tracking branches),但解決他們提出:
git remote prune origin
不會爲我工作。 prunning命令正確退出,但我仍然看到分支當我git branch -r
或git branch -a
。
我也試過git remote update
和git fetch
但是這並沒有改變任何東西。
如何從分支機構列表中刪除此分支?
'git的遠程prune'僅會一旦分支從遠程存儲庫中刪除,清理你的本地參考。 'git ls-remote origin'顯示分支仍然在那裏?如果是這樣,'git push origin:'不能刪除它,我會嘗試完全合格的路徑名稱:'git push origin:refs/heads/'。您應該在'git ls-remote'的輸出中看到完全限定的名稱。只需複製並粘貼即可。 –
jszakmeister
謝謝@jszakmeister!看到我對poke答案的評論。 –