git 是否有某种缓存机制?

Does git have some kind of caching mechanism?

我在 Windows 上遇到 Git 的 "weird" 问题,我不确定最近是否发生了一些变化,例如添加或关闭了缓存机制。

我在本地有一个 b运行ch:branch_A 并且 b运行ch 已从远程删除。我怎么知道?因为...

出于某种原因命令:

git checkout master && git pull origin master && git fetch -p

没有告诉我所有从远程删除的 b运行ches。换句话说,它显示了一些从远程删除的 b运行ches,但遗漏了其他一些也被删除的 b

这导致我以死的 b运行ches 告终,这让我很难知道我应该更新哪些 b运行ches,而且我必须通过所有 PR 检查如果 b运行ch 被删除了,那么我清理我的本地存储库。

Note: I am not expecting the command to delete any branch locally it makes no sense because git does not know if I need it or not (as @Chris says on it's answer)

我是Git的运行版本是:git version 2.23.0.windows.1.

有没有人知道这里可能出了什么问题?我错过了什么吗?

git fetch -p 只会向您显示已删除的远程分支 您仍然可以引用的远程分支。

git fetch -p 应该显示哪些远程分支被删除;提供这样的输出:

 - [deleted]         (none)     -> origin/branch_A

这将从您的存储库中删除引用 origin/branch_A,但不会您的本地分支 branch_A

正如您在 this question 中看到的那样,似乎没有一个简单的答案。原因是 git 不确定您不再需要该分支;它可能与被删除的远程分支不同步(并且由于引用现在已经消失,所以没有更多的方法来检查它)。