📌摘要:完整拆解 VSCode 源代码管理右上角全部更多菜单,包含顶层主菜单 +「拉取,推送」二级子菜单;每个选项附带等价 Git 命令、功能说明、适用场景;看懂图形界面背后的 Git 底层逻辑,适合开发查阅分享。

🖼️菜单文本示意图
顶层主菜单总图

┌───────────────────────┐
│ 查看和排序            │ >
├───────────────────────┤
│ 拉取                  │
│ 推送                  │
│ 克隆                  │
│ 签出到...             │
│ 抓取                  │
├───────────────────────┤
│ 提交                  │ >
│ 更改                  │ >
│ 拉取,推送            │ >  ←二级子菜单
│ 分支                  │ >
│ 远程                  │ >
│ 存储                  │ >
│ 标记                  │ >
└───────────────────────┘

「拉取,推送」二级子菜单总图

┌───────────────────────┐
│ 同步                  │
│ 拉取                  │
│ 拉取(变基)            │
│ 拉取自…               │
├───────────────────────┤
│ 推送                  │
│ 推送到…               │
├───────────────────────┤
│ 抓取                  │
│ 抓取(删除)            │
│ 从所有远程存储库中抓取│
└───────────────────────┘

📑目录

  • [一、顶层主菜单全部选项说明](#一顶层主菜单全部选项说明)

  • [二、子菜单:拉取,推送 详细说明](#二子菜单拉取推送-详细说明)

    • [📥 拉取分组(远程 → 本地)](#📥-拉取分组远程--本地)

    • [📤 推送分组(本地 → 远程)](#📤-推送分组本地--远程)

    • [🔍 抓取分组(仅下载元数据,不改动本地文件)](#🔍-抓取分组仅下载元数据不改动本地文件)

  • [💡日常开发实操流程](#💡日常开发实操流程)

  • [⚠️关键概念区分对照表](#⚠️关键概念区分对照表)


一、顶层主菜单全部选项说明

查看和排序

  • 等价命令:无 git 命令,UI 视图配置

  • 功能:控制提交历史面板,筛选提交记录、设置排序规则(按时间倒序、正序等)

  • 场景:看 git 提交日志时调整展示效果。

拉取

  • 等价 Git 命令git pull

  • 功能:从远程仓库下载代码,使用 merge 合并到本地当前分支。

  • 注意:本地有未提交修改,直接拉取容易发生冲突。

推送

  • 等价 Git 命令git push

  • 功能:将本地已经 commit 完成的提交上传到远程仓库。

  • 场景:本地写完代码提交后,同步到云端。

克隆

  • 等价 Git 命令git clone

  • 功能:输入远程仓库地址,把完整仓库下载到本地磁盘。

  • 场景:新项目第一步,拉取别人的仓库代码到本地。

签出到...

  • 等价 Git 命令git checkout

  • 功能:切换分支,也可以切换到某个历史提交快照。执行后项目文件会切换为目标分支 / 提交的代码。

  • 场景:切换开发分支、查看历史版本代码。

抓取

  • 等价 Git 命令git fetch

  • 功能:下载远程仓库所有更新信息,但不会修改本地文件,只更新本地保存的远程镜像。

  • 场景:预览远程更新,不希望立刻合并代码。

提交

子菜单:管理 commit 相关操作

  • 等价 Git 命令git commit

  • 功能:把已经暂存 (staged) 的修改生成一条版本记录;支持修改上一次提交、重置提交等。

  • 使用流程:变更文件添加暂存 → 填写提交信息 → 执行提交。

更改

子菜单:管理工作区文件变更

  • 功能:查看未暂存、已暂存文件;丢弃文件修改、撤销暂存、对比差异。

  • 场景:写错代码,想要丢弃本地未保存的改动。

拉取,推送

二级子菜单,下一节完整详解。包含同步、拉取、变基拉取、推送、抓取全套功能。

分支

子菜单:分支全套管理

  • 等价 Git 命令git branch / git merge / git rebase

  • 功能:新建分支、删除分支、重命名分支、合并分支、变基操作。

  • 场景:开发新功能建分支、功能完成合并回主分支。

远程

子菜单:远程仓库管理

  • 等价 Git 命令git remote

  • 功能:添加、修改、删除远程仓库地址 origin。

  • 场景:更换 git 仓库地址,配置 fork 多远程仓库。

存储

子菜单:临时储藏未提交代码

  • 等价 Git 命令git stash

  • 功能:把写一半不想提交的代码临时保存,工作区变回干净;后续可以恢复保存的改动。

  • ✨高频场景:代码写一半,需要切分支或者拉取远程代码,又不想提交半成品。

标记

子菜单:版本 Tag 标签管理

  • 等价 Git 命令git tag

  • 功能:给某个提交打上版本号标签,例如 v1.0.0;可以创建、删除、推送标签。

  • 场景:项目发布版本打版本标记。


二、子菜单:拉取,推送 详细说明

📥 拉取分组(远程 → 本地)

同步
  • 等价 Git 命令git pull 之后执行 git push

  • 功能:一键完成:拉取远程最新代码合并,再推送本地提交,对应 vscode 底部状态栏云同步图标。

  • 场景:日常开发一键同步;冲突会弹窗提示。

拉取
  • 等价 Git 命令git pull = git fetch + git merge

  • 功能:抓取远程代码,merge 普通合并,会产生一条 merge 合并提交记录。

拉取 (变基)
  • 等价 Git 命令git pull --rebase = git fetch + git rebase

  • 功能:变基合并,将本地提交挪到远程最新提交之后,提交历史是干净直线。

  • ⚠️注意:只在自己私有分支使用,公共分支慎用 rebase

拉取自…
  • 等价 Git 命令git pull <远程仓库名> <分支名>

  • 功能:手动指定远程仓库、指定分支拉取合并。

  • 场景:配置了多个远程仓库,需要指定来源。

📤 推送分组(本地 → 远程)

推送
  • 等价 Git 命令git push

  • 功能:推送到已经建立关联的远程分支;新建本地分支第一次推送会提示发布分支,建立关联。

推送到…
  • 等价 Git 命令git push <远程仓库名> <分支名>

  • 功能:手动选择推送目标仓库和目标分支。

  • 场景:本地分支名和远程分支名不一致,或者多远程仓库。

🔍 抓取分组(仅下载元数据,不改动本地文件

💡抓取不会修改你的项目代码,只是更新本地保存的远程仓库信息,可以安全预览远程更新。

抓取
  • 等价 Git 命令git fetch

  • 功能:获取默认 origin 远程仓库全部最新元数据。

抓取 (删除)
  • 等价 Git 命令git fetch --prune

  • 功能:抓取更新,同时清理本地残留的、远程已经删除的分支记录。

  • 场景:远程删掉分支,VSCode 还显示该远程分支,使用该选项清理。

从所有远程存储库中抓取
  • 等价 Git 命令git fetch --all

  • 功能:一次性抓取全部配置的远程仓库。

  • 场景:多 remote 仓库;普通单 origin 项目效果等同于普通抓取。


💡日常开发实操流程

  1. 新项目:克隆,输入仓库地址下载代码

  2. 上班第一件事:同步,同步远程最新代码

  3. 修改业务代码,左侧源代码管理面板看到变更文件

  4. 文件点击+暂存,填写提交信息,执行提交

  5. 提交完成,推送,代码上传远程仓库

  6. 代码写一半,需要切换分支:使用存储保存半成品,切完分支回来再应用存储

  7. 开发新功能:分支 → 创建分支,开发完成合并回主分支

⚠️关键概念区分对照表

操作 行为 是否修改本地文件
pull(拉取) 下载远程 + 自动合并代码 ✅会修改,可能产生冲突
fetch(抓取) 仅下载远程元数据信息 ❌完全不动本地代码,安全预览
stash(存储) 临时保存未提交修改 把改动存起来,工作区恢复干净

报错排查:菜单打开「显示 GIT 输出」,查看底层 git 命令日志定位错误。


标签#VSCode #Git #版本控制 #开发笔记 #前端工具

(注:部分内容可能由 AI 生成)

更多推荐