Git远端删除的分支,本地依然能看到 git remote prune origin

在远端已经删除ylwang_dev_786等三四个分支,本地git branch -a 时 依然显示存在。
在这里插入图片描述
执行

git remote show origin 

会展示被删除的那些分支
在这里插入图片描述

在这里插入图片描述
当你在Git远程仓库(如GitLab)上删除一个分支后,这个变更不会自动同步到每个开发者的本地仓库。本地仓库保留了远程分支的引用作为缓存,即使这些分支在远程仓库中已经被删除。这就是为什么你在执行git branch -a时仍然可以看到origin/ver_791

git remote show origin命令显示的信息也是基于最后一次与远程仓库通信时的状态。所以,如果远程分支已经被删除,但你的本地仓库没有更新其远程跟踪的分支信息,那么它将标记为stale(陈旧的)。

为了解决这个问题,并让你的本地仓库反映远程仓库的当前状态,你需要修剪(prune)掉本地不存在于远程仓库的分支引用。你可以通过以下命令来实现:

git fetch --prune

或者是:

git remote prune origin

这两个命令都会删除那些已经从远程仓库中删除但仍然存在于本地的远程跟踪分支。

使用git fetch --prune将同时获取最新的远程仓库数据并删除任何过时的远程跟踪分支。而git remote prune origin只专注于删除过时的分支,不会获取新的远程仓库数据。

在执行上述命令后,再次运行git branch -a时,你就不应该再看到origin/ver_791分支了。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当远端分支删除后,本地分支需要进行相应的处理才能与远端同步。下面是一些步骤供参考: 1. 检查本地分支:首先,你需要确认本地分支名称。 2. 查看远端分支状态:使用`git remote show origin`命令查看远端分支状态,确认远端分支删除。 3. 删除本地分支:如果你确认远端分支删除,可以使用`git branch -d [分支名]`命令删除对应的本地分支。如果分支有未合并的更改,使用`git branch -D [分支名]`强制删除。 4. 远端分支更新:在本地删除分支后,你需要更新远端分支信息。使用`git remote prune origin`命令可以清理远端已经不存在的分支。 以上步骤完成后,你的本地仓库就与远端同步了。请注意,在删除本地分支前一定要确认远端分支删除,以免误删。另外,如果你需要基于已删除远端分支创建新的分支,你可以使用`git checkout -b [新分支名] origin/[已删除分支名]`命令从远端分支创建新分支。 ### 回答2: 在VS Code中,如果远程分支已被删除,可以通过以下步骤来更新本地分支: 1. 打开VS Code,并在左侧的侧边栏中打开Git面板,确保已切换到正确的仓库。 2. 点击面板顶部的"源代码管理"图标,并选择分支列表。 3. 在分支列表中,找到被删除的远程分支,并且注意到它的后面有一个小的"×"图标。 4. 单击"×"图标,这将使分支列表进入操作模式。 5. 在操作模式下,将鼠标悬停在要更新的本地分支上,并单击旁边的刷新按钮(圆形箭头)。 6. 这将导致VS Code将本地分支与远程分支进行比较,并确定它是已删除的。 7. 单击"操作"模式下的"拉取"按钮(从远程获取所有分支的最新更新),这将更新本地分支列表。 8. 单击分支列表中的本地分支,并选择"切换到",以确保你当前正在编辑的代码在正确的本地分支上。 以上步骤将更新本地分支列表并确保你的本地代码与其他团队成员同步。请记住,如果你之前在本地对该分支进行了更改,这些更改仍然存在于你的本地分支中,并且在拉取或合并新的更改时可能会产生冲突。因此,请在执行这些操作之前,根据需要备份和保存你的本地更改。 ### 回答3: 如果在VSCode的Git中,远端分支删除了,本地分支可以通过以下步骤进行修复: 1. 首先,使用终端或内置的终端控制台进入项目的根目录。你可以在VSCode的底部状态栏找到一个终端按钮,点击它并选择“新终端”选项。 2. 运行以下命令,获取最新的远程分支信息:`git fetch` 3. 然后,使用以下命令查看本地和远程分支的关系:`git branch -vv` 4. 在显示的分支列表中,可以看到已被删除的远程分支显示为 `[deleted]`。找到对应的本地分支。 5. 如果你确定你不再需要本地分支及其所有的提交历史,可以直接删除它。使用以下命令:`git branch -D <branch-name>`,将`<branch-name>`替换为被删除远程分支对应的本地分支名称。 6. 如果需要保留本地分支的提交历史,可以使用以下命令新建一个与远程分支同名的本地分支,并将其指向远程分支最新的提交:`git checkout -b <branch-name> origin/<branch-name>`,同样需要将`<branch-name>`替换为被删除远程分支对应的本地分支名称。 7. 最后,使用以下命令将本地分支推送到远程仓库:`git push origin <branch-name>`。 通过上述步骤,你可以恢复本地分支并重新与远程分支关联起来。请确保在执行任何操作之前,仔细检查分支名称,并根据需要进行相应的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值