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

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

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

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

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

一、先在 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 吗?

可以,但建议先在 HistoryChanges 各看一遍,确认提交内容和待处理内容没有混在一起;若远程分支有新提交,先按 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推荐
  • SuperCLUE中文大模型评测基准:功能、能力维度与应用指南
    SuperCLUE
    SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。
    162次使用
  • C-Eval中文评测基准:大语言模型多学科能力评估指南
    C-Eval
    深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。
    88次使用
  • ClickPrompt:AI提示词生成与优化工具,支持Stable Diffusion、ChatGPT及代码辅助
    ClickPrompt
    ClickPrompt是一款专为AI提示词编写者设计的开源在线工具,支持Stable Diffusion绘图、ChatGPT对话及GitHub Copilot代码辅助。提供Prompt自动生成、一键运行、社区分享及可视化优化功能,帮助用户高效获取精准AI输出。
    48次使用
  • PromptHero官网:AI提示词搜索、优化与学习平台,支持Midjourney/Stable Diffusion
    PromptHero
    PromptHero是专业的AI提示词搜索引擎与优化平台,支持Stable Diffusion、Midjourney等主流模型。提供海量提示词库、分类搜索、在线课程及社区互动,助力用户高效生成高质量AI图像与文本。
    31次使用
  • OpenArt免费开源指南:Stable Diffusion Prompt Book提示词手册详解
    Stable Diffusion Prompt Book
    深入解析OpenArt推出的Stable Diffusion Prompt Book,这本免费的开源提示词指南涵盖从基础语法到高级技巧,提供风格化词库与参数建议,助您优化AI绘画生成效果。
    33次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码