删除了'之后的分支;git fetch-p';

删除了'之后的分支;git fetch-p';,git,version-control,git-branch,git-fetch,Git,Version Control,Git Branch,Git Fetch,我尝试从项目中删除几个分支: leo:Project leo$ git push origin --delete effects To https://github.com/gituser/Project.git - [deleted] effects leo:Project leo$ git push origin --delete viewport To https://github.com/gituser/Project.git - [deleted]

我尝试从项目中删除几个分支:

leo:Project leo$ git push origin --delete effects
To https://github.com/gituser/Project.git
 - [deleted]         effects
leo:Project leo$ git push origin --delete viewport
To https://github.com/gituser/Project.git
 - [deleted]         viewport
但是在
fetch--prune
之后

获取后,删除不再存在的任何远程跟踪引用 存在于远程服务器上

我仍然删除了本地计算机上的分支:

leo:Project leo$ git fetch -p
leo:Project leo$ git branch -a
  develop
  effects
* master
  viewport
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/master

有什么建议吗

命令完全按照它说的做了,它删除了“远程跟踪引用”。这意味着连接到远程存储库上的分支的任何本地分支都会断开连接,仅此而已。这特别意味着,当地分支机构之后仍然存在

要删除分支,请使用git branch-D,首先查看分支的内容以确保不会丢失任何提交。

git fetch--prune
仅删除工作树中远程删除的远程引用。远程引用位于
remotes/*
下(例如,
remotes/origin/master

git-fetch--prune
不会删除本地分支-即使本地分支跟踪远程引用,它也不会被删除(例如,通过设置
git-branch--set-upstream=origin/master
)。这是有意的。假设您有一个本地分支,上面有一些提交,然后有人删除了远程分支,您的本地更改消失了


但是,为了删除本地分支机构,发布了git branch-D NAME,请确保您对可能要保留的分支没有提交。

也许您需要调用
git branch--将上游设置为=origin/master
?effects和viewport是本地分支,不会被git fetch prune删除。@MrTux我可以检查分支没有任何远程跟踪引用吗?@d33tah它没有帮助,请参阅updremote跟踪引用位于remotes/*/下,这些引用将被git fetch prune删除,但本地分支不会删除(即使这些引用跟踪远程跟踪引用)