删除本地环境中的远程分支

Remove remote branch in local env

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

我从 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 pull”不会删除从远程仓库中删除的分支的远程跟踪分支。

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

git 远程 p运行e 原点

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

git remote p运行e origin --dry-运行

此处参考:https://git-scm.com/docs/git-branch