当前位置:首页 > 文章列表 > 文章 > 软件教程 > GitHub Desktop 暂存部分修改后怎么查看未暂存差异

GitHub Desktop 暂存部分修改后怎么查看未暂存差异

来源:17golang原创 2026-09-07 19:20:18 0浏览 收藏

在 GitHub Desktop 里,所谓“暂存部分修改”通常不是单独操作一个 Git index 页面,而是用 Changes 左侧的文件复选框和右侧 diff 的行选择来决定本次提交内容。要查看未暂存差异,先保留需要提交的文件与修改行,再提交;没有被选中的行会继续留在工作区,并重新出现在 Changes 列表中。

要点速览
  • 文件复选框控制“这个文件是否进入本次提交”,不能替代行级选择。
  • 在 diff 中点击不想提交的修改行,让它取消蓝色选中状态。
  • 提交后回到 Changes 复查剩余差异;不要用 Discard Changes 代替取消提交选择。

先分清文件选择和行选择

假设 README.md 同时改了安装说明和示例命令,而这次只想提交安装说明。直接保留文件勾选会把文件中的所有已选行带入提交,所以还要在右侧 diff 中处理具体修改。

界面位置作用核对方法
Changes 文件列表选择或排除整个文件文件左侧复选框是否勾选
文件右侧 diff选择本文件中的部分修改需要提交的行保持蓝色
History查看已经生成的提交选中新提交并检查文件、行级 diff

在 Changes 中保留需要提交的文件

打开仓库后点击左侧的 Changes。先处理文件范围:本次不相关的文件取消复选框,本次需要提交的文件保持勾选。选中某个文件后,右侧会显示它相对最近一次提交的 diff,红色通常表示删除内容,绿色通常表示新增内容。

GitHub Desktop Changes 面板中选择文件并在右侧查看部分差异的原创软件界面状态图
图1:先在 Changes 文件列表确认提交范围,再进入右侧 diff 选择具体修改。

如果只排除整个文件,取消它的复选框就够了;如果一个文件里混有两类工作,就继续做行级选择。这样可以让一次提交只表达一个清晰意图。

点击不需要提交的行,查看剩余差异

在右侧 diff 中逐行检查。要暂时留在工作区的修改,点击对应的变更行,让它不再保持蓝色选中状态;要重新纳入本次提交,再点击一次恢复选择。这里的“取消选择”不会删除本地文件内容,只有 Discard Changes 才会执行丢弃操作,二者不要混用。

建议先从文件上到下检查一遍,再看 Summary 区域附近的变更数量。如果选中了连续的一组修改,仍要确认组内没有混入调试代码、临时日志或未完成的格式调整。

提交后怎么确认未暂存内容还在

填写简短的 Summary,点击提交按钮。提交完成后,GitHub Desktop 会重新计算工作区状态:刚才取消选择的行仍然属于未提交修改,并会继续出现在 Changes 中。此时点选剩余文件或 diff,就能查看“本次没有提交的那部分差异”。

GitHub Desktop 提交后 History 出现新提交且 Changes 仍保留未提交差异的原创界面状态图
图2:提交完成后,History 有新提交,Changes 仍显示被保留的未提交差异。

最后点开 History 中的新提交,检查它只包含预期文件和行;再切回 Changes 检查剩余修改。两边合起来,应该正好覆盖提交前的全部变化。若剩余差异消失,先不要继续操作,确认是否误点了 Discard Changes 或是否有外部工具重写了文件。

常见问题

为什么只取消文件勾选还不够?

文件勾选只决定整个文件是否参与本次提交。同一文件中的不同修改仍需要在 diff 中逐行取消选择。

取消蓝色行会删除本地修改吗?

不会。它只是把这部分修改排除出当前提交,内容仍在工作区,之后可以再次选择。

提交后在哪里看剩余修改?

回到 Changes,选中仍有改动的文件即可查看。History 只用于核对已经生成的提交内容。

什么时候应该使用 Discard Changes?

只有确定不再需要本地改动时才使用。若只是想延后提交,应取消选择,而不是丢弃。

GitHub 官方文档也把文件复选框和行级选择作为拆分提交的两层操作:文件级决定是否纳入,行级决定一个文件中的哪些修改纳入。按“Changes 选择范围 → diff 取消行 → 提交后复查”的顺序操作,就能安全查看和保留未暂存差异。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
Go generate 怎么让生成文件不被格式化步骤覆盖Go generate 怎么让生成文件不被格式化步骤覆盖
上一篇
Go generate 怎么让生成文件不被格式化步骤覆盖
Go slog 的 WithAttrs 为什么没有出现在文本输出里
下一篇
Go slog 的 WithAttrs 为什么没有出现在文本输出里
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • SuperCLUE中文大模型评测基准:功能、能力维度与应用指南
    SuperCLUE
    SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。
    173次使用
  • C-Eval中文评测基准:大语言模型多学科能力评估指南
    C-Eval
    深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。
    103次使用
  • AI Prompt Library:免费AI提示词库,助力ChatGPT高效创作与营销
    AI Prompt Library
    探索AI Prompt Library免费资源库,涵盖营销、写作及多场景AI提示词。兼容ChatGPT、Claude等工具,一键复制优化输出,提升工作效率。
    31次使用
  • LangGPT提示词框架:结构化Prompt设计方法与开源工具指南
    LangGPT
    LangGPT是一种受编程语言启发的结构化提示词设计工具,提供双层框架、模块化模板及变量功能,帮助用户高效编写高质量Prompt。该项目已在GitHub免费开源,适用于内容创作、编程辅助等多场景。
    41次使用
  • ClickPrompt:AI提示词生成与优化工具,支持Stable Diffusion、ChatGPT及代码辅助
    ClickPrompt
    ClickPrompt是一款专为AI提示词编写者设计的开源在线工具,支持Stable Diffusion绘图、ChatGPT对话及GitHub Copilot代码辅助。提供Prompt自动生成、一键运行、社区分享及可视化优化功能,帮助用户高效获取精准AI输出。
    77次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码