原因
执行:
git push origin -d origin/SLT_table_report
解决
不需要写 origin
git push origin -d SLT_table_report
参考资料
Git says remote ref does not exist when I delete remote branch:https://stackoverflow.com/questions/35941566/git-says-remote-ref-does-not-exist-when-i-delete-remote-branch/35941658
翻译之后:
命令 git branch -a 显示本地存储库中存在的远程分支。这可能听起来有点令人困惑,但要理解它,您必须了解远程分支和远程存储库中存在的分支之间存在差异。远程分支是映射到远程存储库分支的本地分支。所以远程分支的集合代表远程存储库的状态。
更新远程分支列表的常用方法是使用 git fetch。这会自动从远程获取更新的分支列表,并在本地存储库中设置远程分支,同时获取您可能丢失的任何提交对象。
但是,默认情况下, git fetch 不会删除远程分支上不再有对应分支的远程分支。为此,您明确需要修剪远程分支列表:
git fetch --prune
这将自动摆脱远程不再存在的远程分支。之后, git branch -r 将向您显示远程确实存在的分支的更新列表:以及您可以使用 git push 删除的那些。
话虽如此,为了使用 git push --delete,您需要指定远程存储库上的分支名称;不是您的远程分支的名称。因此,要删除分支测试(由您的远程分支 origin/test 表示),您将使用 git push origin --delete test。