GitHub Desktop 暂存部分修改后怎么查看未暂存差异
来源:17golang原创
时间:2026-09-07 19:20:18 222浏览 收藏
在 GitHub Desktop 里,所谓“暂存部分修改”通常不是单独操作一个 Git index 页面,而是用 Changes 左侧的文件复选框和右侧 diff 的行选择来决定本次提交内容。要查看未暂存差异,先保留需要提交的文件与修改行,再提交;没有被选中的行会继续留在工作区,并重新出现在 Changes 列表中。
- 文件复选框控制“这个文件是否进入本次提交”,不能替代行级选择。
- 在 diff 中点击不想提交的修改行,让它取消蓝色选中状态。
- 提交后回到 Changes 复查剩余差异;不要用 Discard Changes 代替取消提交选择。
先分清文件选择和行选择
假设 README.md 同时改了安装说明和示例命令,而这次只想提交安装说明。直接保留文件勾选会把文件中的所有已选行带入提交,所以还要在右侧 diff 中处理具体修改。
| 界面位置 | 作用 | 核对方法 |
|---|---|---|
| Changes 文件列表 | 选择或排除整个文件 | 文件左侧复选框是否勾选 |
| 文件右侧 diff | 选择本文件中的部分修改 | 需要提交的行保持蓝色 |
| History | 查看已经生成的提交 | 选中新提交并检查文件、行级 diff |
在 Changes 中保留需要提交的文件
打开仓库后点击左侧的 Changes。先处理文件范围:本次不相关的文件取消复选框,本次需要提交的文件保持勾选。选中某个文件后,右侧会显示它相对最近一次提交的 diff,红色通常表示删除内容,绿色通常表示新增内容。

如果只排除整个文件,取消它的复选框就够了;如果一个文件里混有两类工作,就继续做行级选择。这样可以让一次提交只表达一个清晰意图。
点击不需要提交的行,查看剩余差异
在右侧 diff 中逐行检查。要暂时留在工作区的修改,点击对应的变更行,让它不再保持蓝色选中状态;要重新纳入本次提交,再点击一次恢复选择。这里的“取消选择”不会删除本地文件内容,只有 Discard Changes 才会执行丢弃操作,二者不要混用。
建议先从文件上到下检查一遍,再看 Summary 区域附近的变更数量。如果选中了连续的一组修改,仍要确认组内没有混入调试代码、临时日志或未完成的格式调整。
提交后怎么确认未暂存内容还在
填写简短的 Summary,点击提交按钮。提交完成后,GitHub Desktop 会重新计算工作区状态:刚才取消选择的行仍然属于未提交修改,并会继续出现在 Changes 中。此时点选剩余文件或 diff,就能查看“本次没有提交的那部分差异”。

最后点开 History 中的新提交,检查它只包含预期文件和行;再切回 Changes 检查剩余修改。两边合起来,应该正好覆盖提交前的全部变化。若剩余差异消失,先不要继续操作,确认是否误点了 Discard Changes 或是否有外部工具重写了文件。
常见问题
为什么只取消文件勾选还不够?
文件勾选只决定整个文件是否参与本次提交。同一文件中的不同修改仍需要在 diff 中逐行取消选择。
取消蓝色行会删除本地修改吗?
不会。它只是把这部分修改排除出当前提交,内容仍在工作区,之后可以再次选择。
提交后在哪里看剩余修改?
回到 Changes,选中仍有改动的文件即可查看。History 只用于核对已经生成的提交内容。
什么时候应该使用 Discard Changes?
只有确定不再需要本地改动时才使用。若只是想延后提交,应取消选择,而不是丢弃。
GitHub 官方文档也把文件复选框和行级选择作为拆分提交的两层操作:文件级决定是否纳入,行级决定一个文件中的哪些修改纳入。按“Changes 选择范围 → diff 取消行 → 提交后复查”的顺序操作,就能安全查看和保留未暂存差异。
-
371 收藏
-
364 收藏
-
472 收藏
-
492 收藏
-
文章 · 软件教程 | 7小时前 | docker · compose · 容器编排 · 健康检查 · Docker Compose depends_on healthcheck service_healthy180 收藏
-
368 收藏
-
368 收藏
-
文章 · 软件教程 | 11小时前 | vs code · 软件教程 · 搜索性能 · 工作区设置 · VS Code 全文搜索 大文件夹 search.exclude files.watcherExclude115 收藏
-
文章 · 软件教程 | 12小时前 | vs code · 软件教程 · 任务编排 · 构建排错 · tasks.json VS Code Tasks dependsOn dependsOrder 构建任务 失败传播256 收藏
-
文章 · 软件教程 | 18小时前 | 环境变量 · vs code · 软件教程 · Remote SSH · 远程开发 · VS Code path Remote SSH 远程终端 扩展宿主 shell环境115 收藏
-
215 收藏
-
464 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习