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

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

来源:17golang原创

时间:2026-09-06 08:48:47 142浏览 收藏

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删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>