【问题标题】:git delete remote branch not working: branch not foundgit删除远程分支不起作用:找不到分支
【发布时间】:2015-07-14 10:15:53
【问题描述】:

我正在尝试删除 git 中的远程分支,我做到了:

git branch -r
...
origin/master
origin/dev
origin/branch_to_delete

现在我尝试删除origin/branch_to_delete

git branch -d origin/branch_to_delete
error: branch 'origin/branch_to_delete' not found 

我做到了:

git fetch --all

又试了一次,还是一样的错误。我试过-D,但同样的错误。

但是分支在那里,我可以在 github.com 中看到它。怎么办?

【问题讨论】:

    标签: git github git-branch


    【解决方案1】:

    根据this post

    删除也是一项非常简单的任务(尽管感觉有点笨拙):

    git push origin :newfeature

    这将删除源远程上的 newfeature 分支,但您仍需要使用 git branch -d newfeature 在本地删除该分支。

    所以你得到的错误只是意味着你没有那个分支的本地副本,所以你可以忽略它。然后删除远程副本:

    git push origin :branch_to_delete
    

    【讨论】:

    • 谢谢。太愚蠢了,我认为只有在第一步有效时这才有效,但显然第一步已经完成了..谢谢它有效
    • 不工作。证明:错误:无法删除'github_hub/dev':远程引用不存在
    【解决方案2】:

    如果你在服务器上看不到它(这是我的情况,因为有人已经删除了远程服务器上的那个分支)但它仍然作为远程分支存在于你的本地 .git 存储库中,你会能够用git push origin --delete [branch] 也不能用git push origin :branch_to_delete 解决问题。而是运行

    git branch --all
    git remote prune origin
    git branch --all
    

    origin 替换为您的遥控器名称。

    【讨论】:

      【解决方案3】:

      要删除一个远程分支,命令是:

      $ git push origin --delete [branch]

      看起来有人在较早的答案之一中忘记了“--delete”。

      【讨论】:

      • 虽然您可以使用--delete 选项,但另一个答案包括在分支名称前的:,这将删除远程分支。
      • 错误:无法删除'github_hub/dev':远程引用不存在
      猜你喜欢
      • 1970-01-01
      • 2016-07-08
      • 2012-07-18
      • 1970-01-01
      • 2021-04-15
      • 2013-01-07
      • 2016-02-01
      • 1970-01-01
      • 2013-07-06
      相关资源
      最近更新 更多