讲师中心 微信公众号
AI工具推荐 视频效率加速

VSCode怎么用git进行代码对比?修改差异查看方法

小静姑娘_7116

小静姑娘_7116

发布时间:2026-09-01 06:21:24

|

980人浏览过

|

来源于php中文网

原创

Git Lens 是 VSCode 中最直接的差异查看方案,将 git diff 嵌入侧边栏和行内:绿色背景为新增行(+),红色为删除行(-),黄色为修改行(先删后增)。

vscode怎么用git进行代码对比?修改差异查看方法

Git Lens 插件是 VSCode 里最直接的差异查看方案

不装插件也能看,但默认 Git 视图只显示文件列表,点进去是全量内容,没法高亮行级变更。Git Lens 把 git diff 的能力直接嵌进编辑器侧边栏和行内,省去切终端、记路径、拼命令的步骤。

安装后右键任意已跟踪文件 → 选 Git: Compare with HEAD,或点击编辑器右上角的「源代码管理」图标 → 在更改列表里点击文件名旁的 ⋯ → 选 Compare with HEAD,就能在新标签页中看到带颜色标记的增删改。

  • 绿色背景 = 新增行(+)
  • 红色背景 = 删除行(-)
  • 黄色背景 = 修改行(实际是先删后增,Git Lens 合并显示为“修改”)
  • 行号左侧的 > 或 图标可快速跳转到下一处差异

不用插件时用内置 Source Control 视图看差异

VSCode 原生支持基础 diff,但交互略隐晦:必须确保文件已在 Git 索引中(即执行过 git add),否则“暂存的更改”区域为空,点文件不会弹出对比视图。

操作路径:左侧活动栏点 源代码管理 图标 → 展开 暂存的更改 或 未暂存的更改 → 点击具体文件 → 右侧自动打开 diff 编辑器。

Cnb Cool Git
Cnb Cool Git

CNB 云原生构建平台的 Git 操作技能,支持代码克隆、提交、推送、分支管理、Merge Request 管理、流水线触发与结果读取。初次使用需收集用户的 Git 用户名和邮箱。

下载
  • 如果点文件没反应,大概率是该文件还没被 git add 过,或者根本不在 Git 仓库根目录下(检查当前工作区是否为 .git 所在目录)
  • diff 视图顶部有三个按钮:Discard Changes、Stage Changes、Open File,别误点 Discard Changes 清空本地修改
  • 按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS)输入 Git: Open Changes 可快速唤出当前文件与 HEAD 的对比

命令行 git diff 和 VSCode 内置终端联动更灵活

VSCode 内置终端(Ctrl+`)就是你本地 shell,所有 git diff 参数都可用,且输出能被 VSCode 自动识别为可点击链接——比如 git diff --word-diff=color 显示词级差异,或 git diff HEAD~1 -- path/to/file.ts 对比上一次提交的特定文件。

  • git diff --no-index a.js b.js 可对比两个未加入 Git 的文件(注意顺序,a 是旧版,b 是新版)
  • 在 diff 输出里,点击带路径的行(如 src/utils.ts)会直接在编辑器中打开该文件并跳转到对应行
  • 若 git diff 输出乱码,检查终端编码设置:"terminal.integrated.env.linux": {"LANG": "en_US.UTF-8"}(Linux/macOS)或 Windows 的 chcp 65001

遇到 “No changes detected” 却明明改了文件?重点查这三点

这是高频困惑点,不是 VSCode 问题,而是 Git 状态判断逻辑导致的假阴性。

  • 文件权限变更(如 chmod +x script.sh)默认不触发 diff,需加 --chmod 参数或配置 git config core.filemode true
  • 换行符差异(CRLF vs LF)被 Git 自动转换后可能不显示在 diff 中,检查 core.autocrlf 设置,临时用 git diff --ignore-space-at-eol 验证
  • 文件被 .gitignore 匹配了,VSCode 的源代码管理视图压根不会列出它,运行 git check-ignore -v path/to/file 确认是否被忽略

Git 差异查看真正卡住人的地方,往往不在功能本身,而在当前文件是否处于 Git 跟踪状态、是否已被暂存、以及换行符/权限这类“隐形变更”是否被纳入比较范围。先跑一遍 git status,再决定用插件、UI 还是命令行,效率最高。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

5379

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

1640

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

934

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3497

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3181

2024.04.09

vscode是什么_vscode怎么安装配置
vscode是什么_vscode怎么安装配置

VS Code(Visual Studio Code)是一款免费、开源的跨平台代码编辑器,由微软开发和维护。它被广泛用于软件开发和编程,支持多种编程语言和框架。VS Code 同时提供了丰富的功能和扩展性,使开发者可以高效地编写、编辑和调试代码。

1215

2023.06.30

vscode怎么运行代码
vscode怎么运行代码

vscode是一个运行于MacOS X、Windows和Linux之上的,针对于编写现代Web和云应用的跨平台源代码编辑器;vscode免费而且功能强大,对JavaScript和NodeJS的支持非常好,自带很多功能,例如代码格式化,代码智能提示补全、Emmet插件等。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2472

2023.07.21

vscode使用的框架介绍
vscode使用的框架介绍

VSCode是一款跨平台代码编辑器,它基于Electron框架和Monaco Editor构建。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1849

2024.03.14

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

0

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn