当前位置:首页 > 文章列表 > 文章 > 软件教程 > GitHub Desktop 怎么只提交文件中的部分修改

GitHub Desktop 怎么只提交文件中的部分修改

来源:17golang原创 2026-09-06 08:48:47 0浏览 收藏

GitHub Desktop 可以只提交一个文件中的部分修改:先在 Changes 里打开文件,再在差异视图中点击不想提交的改动行,让它取消蓝色高亮,最后填写 Summary 并点击 Commit to 当前分支。没有被选中的改动不会被删除,会继续留在本地工作区,适合把代码、文档或格式调整拆成几次有意义的提交。

要点速览
  • 文件级复选框决定哪些文件进入提交,行级选择决定一个文件里的哪些改动进入提交。
  • 差异行仍是蓝色高亮时会提交;取消蓝色高亮的行会留在本地。
  • 提交后同时查看 History 和 Changes,确认新提交与剩余修改各自落在正确位置。

一、先在 Changes 中定位文件,再决定选择范围

打开 GitHub Desktop,确认顶部仓库和 Current Branch 是要工作的本地仓库与分支。左侧点击 Changes,文件列表会列出最近一次提交之后的本地改动。若只是不提交某个文件,直接取消该文件旁边的复选框即可;本例要拆分同一个文件,所以继续点击目标文件查看差异。

选择位置作用适用场景
文件旁复选框整文件加入或移出本次提交不同文件属于不同任务
差异视图中的改动行只控制当前文件的部分改动一个文件混有代码和文档修改
GitHub Desktop Changes 入口显示文件复选框和 README.md 差异面板
图1:在 Changes 中打开目标文件,先确认文件级选择和差异范围。

这里先不要急着点击提交。先看清每一处改动属于哪个任务,尤其要留意相邻改动可能被 GitHub Desktop 合并显示成同一个差异块。

二、在差异视图里取消不想提交的改动行

路径是 Changes → 目标文件 → 差异面板。GitHub Desktop 默认用蓝色高亮表示会被纳入本次提交的改动行。点击不想提交的改动行,蓝色高亮会消失;仍保持蓝色的行才会进入本次提交。

例如 README.md 里同时有“更新使用示例”和“补充本地说明”两处变化,本次只想提交使用示例,就保留前者的蓝色高亮,点击后者取消选择。不要把“取消行选择”和“Discard Added Line”混为一谈:前者只是暂不提交,后者会丢弃本地新增行,并需要通过确认操作才能完成。

GitHub Desktop 差异视图中蓝色高亮改动行与被取消选择的改动行
图2:只保留目标改动行的蓝色高亮,未高亮的行不会进入本次提交。

如果看不清上下文,可以点击行号上下的箭头展开附近内容,或在差异面板中右键选择展开整个文件。这样能减少把同一段里的无关格式变化一起提交的风险。

三、提交后核对 History 和剩余 Changes

确认选择后,在底部 Summary 输入简短且能说明意图的提交摘要,例如“Split commit”,需要补充背景时再填写 Description。然后点击 Commit to feature/commit-split(按钮名称会随当前分支变化)。这一步只创建本地提交,还没有把内容推送到远程仓库。

提交完成后,先点左侧 History,确认新摘要出现在当前分支的提交记录中;再回到 Changes,检查刚才取消选择的改动仍然存在。只有在确认剩余改动内容正确后,才点击仓库栏的 Push origin 推送。若远程有尚未获取的新提交,GitHub Desktop 可能先要求 Fetch,此时按提示更新后再处理分支。

GitHub Desktop History 显示部分提交并在 Changes 保留一处本地修改
图3:提交后在 History 看见新提交,并在 Changes 确认剩余修改没有被删除。

常见问题

取消蓝色高亮后,改动是不是被删除了?

不是。它只是从本次提交中排除,提交完成后仍应在 Changes 中保留;只有使用丢弃改动相关操作,才会移除本地内容。

能不能先按文件取消,再按行选择?

可以。文件复选框负责文件级范围,打开文件后再按改动行调整更细的范围。若文件整体被取消,先重新勾选文件,再检查行级选择。

部分提交后可以直接 Push origin 吗?

可以,但建议先在 History 和 Changes 各看一遍,确认提交内容和待处理内容没有混在一起;若远程分支有新提交,先按 GitHub Desktop 的提示 Fetch。

官方操作说明可参考:GitHub Desktop 提交和审查项目改动。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
蛙蛙漫画安装包怎么辨别?包名、开发者与版本核对说明蛙蛙漫画安装包怎么辨别?包名、开发者与版本核对说明
上一篇
蛙蛙漫画安装包怎么辨别?包名、开发者与版本核对说明
Go nil map 可以读取为什么写入就 panic
下一篇
Go nil map 可以读取为什么写入就 panic
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之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推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    578次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    619次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    650次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    613次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    428次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码