如何删除远程原点/ refs / heads / master

不要问我如何,但我设法意外地在git仓库中的以下远程分支:

$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/refs/heads/master

所有人都指向相同的提交。 如何删除origin/refs/heads/master的不必要列表?

我试图做到以下几点

$ git push origin :refs/heads/master
error: dst refspec refs/heads/master matches more than one.

但是如图所示,这给出了一个错误。


这实际上并不是遥控器上的一个分支 - 它只是一个声称代表遥控器上的东西的本地参考,就像原点/主控代表遥控器上的主分支一样。 ref的全名是refs/remotes/origin/refs/heads/master 。 所有你需要做的删除它是:

git branch -r -d origin/refs/heads/master

你设法推动这一点也是可能的(但是你必须特别努力才能做到这一点)。 如果你这样做,我只需列出原始参考文献:

git ls-remote origin

然后,如果有什么愚蠢的,使用git push origin :<refname>来摆脱它。

PS如果这样做对你没有帮助,你会希望使用git for-each-ref来查看你所有的refs,甚至可能是git ls-remote origin来查看所有远程的,并准确地追踪这些东西不属于他们的完全合格的refnames。


解决方案是删除分支refs/heads/refs/heads/master

git push origin :refs/heads/refs/heads/master

它的

git branch -r -d origin/ref/heads/master

代替

git branch -r -d origin/refs/heads/master 

在代码部分删除分支。 代码中的引用词有所不同。

链接地址: http://www.djcxy.com/p/4401.html

上一篇: How to remove remote origin/refs/heads/master

下一篇: Catch multiple exceptions in one line (except block)