VSCode内置Git支持需手动配置Git路径、远程仓库和跟踪分支才能稳定工作;初始化后须暂存再提交,推送前需添加remote并设置upstream;分支操作与冲突解决均需遵循Git底层逻辑。

VSCode 内置 Git 支持,无需额外插件即可完成基础版本控制与分支操作,但默认配置下部分功能(如子模块、SSH 密钥代理、自定义 diff 工具)需手动调整才能稳定工作。
Git 必须已安装且可被 VSCode 识别
VSCode 不自带 Git,它只是调用系统 PATH 中的 git 命令。如果状态栏不显示分支名或提示 “Git not found”,说明未正确安装或路径未纳入环境变量。
- 在终端运行
git --version确认能正常输出;Windows 用户注意安装时勾选 “Add Git to PATH”(推荐选择 “Git from the command line and also from 3rd-party software”) - VSCode 中按
Ctrl+Shift+P(macOS 为Cmd+Shift+P),输入Git: Locate Git,手动指定git.exe或git可执行文件路径(例如C:\Program Files\Git\bin\git.exe) - 若使用 WSL,不要指向 Windows 下的 Git,而应配置为 WSL 中的
/usr/bin/git,并在 VSCode 设置中启用git.terminalAuthentication避免反复输密码
初始化仓库与提交流程要走对顺序
直接点击左下角分支名弹出的 “Initialize Repository” 按钮,只会在当前文件夹执行 git init,不会自动添加远程地址或关联 upstream 分支——这是新手最常漏掉的一步。
- 初始化后,先在源代码管理视图(
Ctrl+Shift+G)中点击+图标暂存所有变更,再填写提交信息并点击 √ 提交;不能跳过暂存直接提交(除非开启git.enableSmartCommit) - 首次推送到远程前,必须手动运行
git remote add origin,或在命令面板中执行Git: Add Remote;否则点击 “Publish Branch” 会报错fatal: No configured push destination - 推送时若提示 “No upstream configured”,说明本地分支未设置跟踪分支,可在命令面板中运行
Git: Configure Push Branch,或执行git push -u origin main
切换/创建分支不能只靠点击状态栏
点击状态栏分支名只能切换已有本地分支,无法创建带上游跟踪的远程分支,也无法处理冲突时的检出逻辑。
- 创建新分支:按
Ctrl+Shift+P→ 输入Git: Create Branch,输入名称后,勾选 “Checkout branch” 才会立即切换;不勾选则仅创建不切换 - 从远程分支创建本地跟踪分支:用
Git: Checkout to...,选择形如origin/feature/login的条目,VSCode 会自动创建同名本地分支并设置 upstream - 强制覆盖本地修改切换分支?VSCode 默认禁止(防止丢代码),需先暂存或丢弃变更;若坚持要强制,得在终端执行
git checkout -f,VSCode 不提供该选项
合并冲突必须在编辑器内手动解决再标记为已解决
VSCode 能高亮冲突块(>>>>>>),但不会自动帮你选哪边——它只提供“接受当前更改”“接受传入更改”“接受全部”等快捷操作,最终仍需人工判断语义是否合理。
- 冲突文件会在源代码管理视图中标为 “Conflicts”,双击打开后,灰色背景区域即冲突段,右侧操作按钮仅修改文本,不触发 git 命令
- 改完后必须右键冲突文件 → “Mark as Resolved”,否则
git status仍显示 unmerged,也无法提交 - 若误点了 “Accept Current Changes” 导致逻辑错误,可点击编辑器右上角的撤销按钮(或
Ctrl+Z),但已标记为 resolved 的文件需重新打开才能恢复冲突标记
分支名含斜杠(如 feature/user-profile)是合法的,但某些旧版 Git 客户端或 CI 工具可能解析异常;远程分支名和本地分支名不必完全一致,靠 git branch -u 关联即可——这点容易被图形界面惯坏而忽略底层机制。










