【问题标题】:Remove remote branch in local env [duplicate]删除本地环境中的远程分支[重复]
【发布时间】:2020-11-18 17:05:21
【问题描述】:

为了让问题更具体,我举个例子。

我从 github 克隆了一个项目。然后我做了一些提交并推送了它。 此时,如果我输入git branch & git branch -r 命令,我可以得到本地分支和远程分支的列表。

git branch

git branch -r

现在,如果我想删除远程分支,git push origin search -d 会有所帮助。

git push origin search -d
git branch -r

太好了。效果很好。

但是,如果我通过 github 删除这个分支,就会出现问题。

由于我的本地不知道远程分支已被删除,所以当我输入git branch -r 命令时,它仍然检索origin/search。所以我尝试使用命令git push origin search -d 从我的本地删除origin/search。但是,它抛出了如下错误

(对不起韩文,意思是error: failed to push some refs to 'https://github.com/njh7799/test

哈哈。 Git 无法移除远程分支,因为它不存在!

最终,当我输入 git branch -r 时,origin/search 将永远存在于我的本地。问题是,我怎样才能删除它?

【问题讨论】:

  • 请不要在标题中加上“”之类的东西;如果您接受欺骗,它将自动标记为“[复制]”

标签: git github branch


【解决方案1】:

这是因为“git pull”不会删除从远程仓库中删除的分支的远程跟踪分支。

解决方案: 要删除已删除分支的远程跟踪分支,请尝试以下命令:

git 远程修剪起源

如果您只想列出这些陈旧的分支(而不是删除它们),请使用:

git remote prune origin --dry-run

参考这里:https://git-scm.com/docs/git-branch

【讨论】:

    猜你喜欢
    • 2018-09-29
    • 2016-07-08
    • 2016-04-24
    • 2021-08-22
    • 2013-04-02
    • 2021-12-11
    • 2014-06-09
    • 2021-06-25
    • 2011-09-07
    相关资源
    最近更新 更多