最快方法是点击窗口底部状态栏左端的分支名(如?main),弹出分支列表后直接选择目标分支即可切换;也可用Ctrl+Shift+P输入“Git: Checkout to”调出列表,或通过源代码管理视图顶部分支下拉菜单操作。

怎么在 VSCode 里快速切换 Git 分支
VSCode 的 Git 面板(源代码管理视图)本身不直接显示所有分支列表,但通过命令面板能秒级切换,比终端敲 git checkout 更轻量。关键不是“找分支”,而是“触发分支选择器”。
操作路径:按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Git: Checkout to...,回车后会列出本地所有分支(含当前所在分支高亮),用方向键选中后回车即完成切换。
- 当前分支名始终显示在左下角状态栏,点击它也能呼出相同分支选择器
- 如果远程分支没被拉取过,它不会出现在列表里——需先执行
Git: Fetch或手动运行git fetch origin - 切换时若工作区有未提交更改,VSCode 默认阻止切换并提示冲突风险;想强制切换可先暂存(
Git: Stage All)或丢弃(Git: Discard Changes)
创建新分支并在 VSCode 中立即检出
VSCode 不区分“创建”和“检出”动作,Git: Create Branch... 命令本质是 git checkout -b 的封装,一步到位。
执行流程:调出命令面板 → 输入 Git: Create Branch... → 输入新分支名(如 feat/user-login)→ 回车 → 自动切换到该分支,且状态栏左下角实时更新。
- 分支名中避免空格和中文,推荐用短横线分隔(
fix/api-timeout),否则可能在某些 Git 操作中报错fatal: 'xxx' is not a valid branch name - 新分支基于当前 HEAD 创建,不是自动从
main或master拉,所以务必确认当前在正确基线上再操作 - 创建后不会自动 push 到远程——需右键分支名 →
Publish Branch,或手动运行Git: Push
合并分支前必须检查的三件事
VSCode 的图形化合并(右键分支 → Merge Into Current Branch)只是触发 git merge,不解决冲突、不校验历史、不跳过测试——这些全靠人盯。
执行合并前,请手动确认:
- 当前是否在目标分支上?例如要把
feat/login合入develop,必须先切换到develop,再右键feat/login选合并 - 目标分支是否有未推送的本地提交?若有,建议先
Git: Push,避免后续协作时出现“同名分支不同提交”问题 - 待合并分支是否已 rebase 过最新目标分支?如果它基于旧版
develop,直接 merge 可能引入冗余合并提交;此时应先切到该分支,运行Git: Rebase onto...指定目标分支
合并后出现冲突,VSCode 怎么处理
冲突文件会在资源管理器中显示黄色感叹号,打开后编辑器会分栏标出 HEAD(当前分支)和 feature-branch(被合并分支)的改动。VSCode 不自动解决,但提供快捷操作。
在冲突块内右键,会出现几个关键选项:
-
Accept Current Change:保留当前分支版本(即 HEAD) -
Accept Incoming Change:采用被合并分支的修改 -
Accept Both Changes:把两边都留着(慎用,可能逻辑重复) - 手动删掉 >>>>>> 标记及不需要的内容,再保存文件
所有冲突文件解决并保存后,点左上角绿色勾号(或运行 Git: Commit)完成合并提交。注意:未解决完冲突前,Commit 按钮是灰色的,这是硬性保护。
真正容易被忽略的是:合并完成后,VSCode 不会自动清理被合并的分支。如果习惯性删掉本地 feat/xxx 分支,请手动运行 Git: Delete Branch...,并确认勾选 Delete remote branch too(如果已发布过)。


















