0背景
gitlab 上创建新分支,vscode 获取不到新分支。不论是刷新分支切换,还是重启 vscode 甚至电脑,都无法展示新分支,导致无法切换。
截图占位:vscode 分支列表中没有 gitlab 新创建的分支
1解决方法 1
git remote update origin
执行此 git 命令,再次在 vscode 切换分支,即可展示新创建的分支。
2命令解释
git remote update origin --prune 是一个 Git 命令,它执行了两个主要操作:
- 更新远程引用:git remote update origin 会从名为 "origin" 的远程仓库中拉取最新的引用(即分支和标签)信息,但不会更改你本地的工作目录或索引。这允许你查看远程仓库中有哪些新的或已移动的分支,而无需立即合并或拉取它们。
- 修剪(删除)已不存在的远程分支:--prune 选项会删除你本地仓库中已不存在的远程分支的引用。这在你已经删除了远程仓库中的某个分支,但你的本地仓库仍然保留了对该分支的引用时特别有用。
使用场景
- 管理多个远程分支:当你在一个项目中工作,并且该项目有多个活跃的远程分支时,你可能会想要定期更新你的本地仓库以了解哪些分支是新的或已被删除的。使用 git remote update origin --prune 可以帮助你保持对这些分支的跟踪。
- 自动化脚本:如果你在使用一些自动化工具或脚本来管理你的 Git 仓库,这个命令可能会很有用。例如,一个 CI/CD 管道可能会在构建或部署之前运行此命令,以确保它正在基于最新的远程分支进行操作。
- 清理本地仓库:如果你发现你的本地仓库中有很多不再需要的远程分支引用(可能是因为你在过去的工作中使用了许多临时分支),那么你可以使用此命令来清理它们。
⚠️ 请注意,这个命令只会删除本地仓库中的远程分支引用,而不会删除你本地工作目录中基于这些分支的任何内容(例如,你仍然可以检出或合并这些分支,只要它们的提交仍然存在于你的本地仓库中)。如果你想要完全删除一个分支(包括它的所有提交),你需要使用 git branch -D <branch-name>(注意是大写的 "D")。
3方案 2
vscode 的 remotes 更新下。
| 方案 | 操作 |
| 方案 1 | git remote update origin --prune,刷新后切换分支 |
| 方案 2 | 在 vscode 的 remotes 面板手动更新远程引用 |