为什么在Git中删除了远程分支,但执行'git branch -a'命令时仍会显示?

5

我试图删除本地和远程git上的一个分支。我认为我已经成功了,但是当我执行“git branch -a”命令时,它仍然在远程显示。

我使用以下命令从本地删除该分支:

git branch -d branchToDelete

还可以远程删除它:

git push origin --delete branchToDelete

我认为我已经成功的在本地和远程都删除了它。

如果我执行 git pull branchToDelete

我会得到如下错误信息: 致命:'branchToDelete' 似乎不是一个 git 仓库 致命:无法从远程仓库读取。

我想这表示它在远程不再存在了?

但是如果我执行

git branch -a

然后它仍然会显示在列表中。

remotes/origin/branchToDelete

如果代码被本地和远程删除了,为什么它还会出现?

是的,分支在本地和远程命名相同。

非常感谢。


你可以尝试执行 git fetch,以防在删除远程分支后需要同步跟踪分支。 - Tim Biegeleisen
你这样做应该没问题。你使用的是哪个版本的git? - kapsiR
最近讨论过:https://dev59.com/uKv2oIgBc1ULPQZFUmEj 在 https://stackoverflow.com/search?tab=newest&q=%5bgit%5d%20deleted%20branch 中找到。 - phd
1个回答

7

您需要执行git fetch -p命令,以清除已经被删除的远程分支的本地跟踪分支。


1
使用 git push 命令时,如果带有 --delete 参数,则不必要这样做。 - kapsiR
3
是的,但仅限于你自己运行git push --delete命令的那个代码库:在这种情况下,可能是其他人删除了它,或者Tim(原帖作者)从另一个代码库中进行了删除。 - torek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接