登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

VS Code 只暂存部分改动的操作步骤

来源:17golang原创

时间:2026-10-17 10:43:50 309浏览 收藏

VS Code 只暂存部分改动时,应从 Source Control 的 Changes 列表打开文件差异,选中本次需要的行,再执行 Stage Selected Ranges。不要点击文件旁的整文件加号;暂存后应分别查看 Staged Changes 与 Changes,确认剩余改动仍留在工作区。

官方地址:https://code.visualstudio.com/

准备一个已有提交的练习仓库,使用已跟踪、已保存且没有合并冲突的文本文件。示例设定为 README.md:一处修正标题,另一处调整说明句,本次只准备标题修正。下列图片均为原创界面操作示意图,不是实际软件截图;安装语言、主题和布局不同会影响视觉位置,英文命令名可用于对照。

步骤1:从 Changes 打开需要拆分的文件

点击左侧活动栏的 Source Control(源代码管理),在目标仓库的 Changes(更改)分组中点击 README.md,打开差异编辑器。先找到标题修正与说明句修改这两处差异,明确本次只要哪一处。

源代码管理Changes列表与README文件差异的原创界面说明图
图1:打开差异的操作示意图。Changes 表示尚未暂存的编辑;图中两处差异用于说明本次需要拆分的范围。

进入下一步前,应能在差异视图中看到目标修改。多仓库工作区要先确认仓库,不能只凭文件名判断。没有 Changes 项时,先检查是否打开了正确的仓库、是否保存文件,以及文件是否被忽略。

步骤2:只暂存选中范围,再查看暂存版本

在差异编辑器的修改侧选中标题变更涉及的行,右键选择 Stage Selected Ranges(暂存所选范围)。也可保持选区,通过命令面板搜索 Git: Stage Selected Ranges。选区应覆盖完整的逻辑修改,不要顺手把另一段无关说明一起选中。

差异编辑器选中标题修改与Stage Selected Ranges菜单的操作示意图
图2:行级暂存操作示意图。蓝色选区只覆盖标题修改;菜单用于说明作用范围,不代表真实操作记录。

成功后,README.md 可以同时出现在 Staged Changes(暂存的更改)和 Changes 中,这是部分暂存的正常状态。点击 Staged Changes 中的文件,应只看到本次标题修正;再点击 Changes 中的同名文件,应仍看到没有暂存的说明句改动。若暂存视图包含了整文件的无关改动,先按下一步取消暂存后重新选择。

Git 暂存区保存的是暂存当时的内容。此后继续编辑并保存文件,不会自动把新内容放入暂存区;相关语义可参阅 Git 暂存说明。这也意味着不能只看工作区文件,就推断下一次提交的准确内容。

步骤3:误选时用 Unstage,保留所有编辑

在 Staged Changes 中右键 README.md,选择 Unstage Changes(取消暂存更改),即可把该文件移出暂存范围而保留工作文件。若只想取消一部分已暂存内容,可在该暂存差异视图选中相应行,使用旁边的 Unstage 操作;不确定范围时,整文件取消暂存再重选更容易理解。

暂存列表中Unstage Changes菜单与保留工作区编辑的原创操作示意图
图3:取消暂存操作示意图。目标是移除提交准备状态,而不是删除已写的内容;请勿将其与丢弃修改混淆。

继续前,应看到对应暂存项消失或减少,同时工作文件仍包含自己的编辑。取消暂存与恢复工作区是不同目标,Git restore 文档也区分了暂存区和工作区。

不要误用 Discard Changes 或差异视图中的 Revert。这些操作可能移除工作区修改,不能作为“取消暂存”的替代。拿不准时先保留独立副本,不依赖丢弃后的恢复能力。

目标本次应选择
只准备某几行Stage Selected Ranges
整份文件都进入暂存Stage Changes,本任务通常不选
编辑保留,但退出暂存Unstage Changes
删除尚未提交的工作不属于本任务,不点 Discard

同一文件出现在两个分组是重复了吗?不是,它同时存在已暂存与未暂存差异。

只选几行就能保证提交可以独立运行吗?不能。行级选择只是内容拆分,仍需读者判断依赖是否完整,并在适当环境检查该暂存版本。

菜单里没有对应命令怎么办?先确认打开的是 Changes 中的文本差异而不是普通文件标签,并在修改侧建立有效选区;冲突文件、二进制文件和特殊提供程序不能直接套用本例。

完成本任务的标志是暂存视图只包含目标修改,其他修改仍在 Changes。这里不要求提交或推送;保存、暂存、本地提交和远端推送是不同操作。具体入口参见 VS Code 官方暂存与取消暂存指南。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>