跳至主要内容

在 GitHub Desktop 中提交和审查项目更改

GitHub Desktop 会跟踪你编辑的所有文件的全部更改。你可以决定如何对更改进行分组以创建有意义的提交。

平台导航

关于提交

类似于保存已编辑的文件,提交会记录分支中一个或多个文件的更改。Git 会为每个提交分配一个唯一的 ID,称为 SHA 或哈希值,用于标识

  • 具体的更改
  • 更改的时间
  • 创建更改的人

进行提交时,必须包含简要描述更改的提交消息。你还可以为任何你协作的提交添加共同作者。

如果你在 GitHub Desktop 中进行的提交与 GitHub 上的错误帐户关联,请使用 GitHub Desktop 更新 Git 配置中的电子邮件地址。有关详细信息,请参阅“为 GitHub Desktop 配置 Git”。

仓库管理员可以为分支启用规则集,以便在提交时强制执行特定约定。例如,规则集可以要求对提交进行签名,或者在提交消息的开头引用问题编号。如果提交不遵循规则集,GitHub Desktop 将显示警告并阻止提交。有关详细信息,请参阅“关于规则集”。

选择分支并进行更改

  1. 创建新分支,或者点击工具栏上的 当前分支并从列表中选择一个现有分支。

    Screenshot of the "Current Branch" dropdown view. Under "Recent Branches", a branch, named "my-feature", is highlighted with an orange outline.

  2. 使用你喜欢的文本编辑器(例如Visual Studio Code)对项目中的文件进行必要的更改。

选择如何显示差异

你可以更改在 GitHub Desktop 中显示差异的方式,以适应你的审查需求。

要更改查看差异的方式,请点击差异视图右上角的.

  • 要更改整个差异的显示方式,请在“差异显示”下选择统一拆分。统一视图以线性方式显示更改,而拆分视图在左侧显示旧内容,在右侧显示新内容。
  • 要隐藏空白更改以便专注于更重要的更改,请选择隐藏空白更改

Screenshot of the diff view of a file. A gear icon is outlined in orange and expanded to display "Whitespace" and "Diff display" settings.

提示

用于显示差异的默认制表符大小为 8。你可以在**设置**对话框的**外观**面板中自定义此设置。

提示

用于显示差异的默认制表符大小为 8。你可以在**选项**对话框的**外观**面板中自定义此设置。

如果需要查看比 GitHub Desktop 默认显示的更多文件内容,可以展开差异。

  • 要查看突出显示更改上方或下方的几行,请点击行号上方或下方的箭头。
  • 要查看整个文件,请右键点击差异视图,然后点击展开整个文件

Screenshot of the diff view of a "README" file. Over a green "addition" line, in a context menu, the cursor hovers over "Expand Whole File".

选择要包含在提交中的更改

当你使用文本编辑器更改文件并将其本地保存时,你也会在 GitHub Desktop 中看到这些更改。

在左侧边栏的“更改”选项卡中

  • 红色图标表示已删除的文件。

  • 黄色图标表示已修改的文件。

  • 绿色图标表示已添加的文件。

  • 要访问暂存的更改,请点击暂存的更改

  • 要将**所有文件的全部更改**添加到单个提交中,请保持列表顶部的复选框选中状态。

    Screenshot of the "Changes" tab. Above the list of changed files, next to the text "3 changed files", a selected checkbox is outlined in orange.

  • 要将**一个或多个文件的全部更改**添加到单个提交中,请取消选中不想包含的文件旁边的复选框,只留下要在提交中包含的文件。选择文件后,可以使用空格键Enter键切换复选框。

创建部分提交

如果一个文件包含多个更改,但只想将其中一些更改包含在提交中,则可以创建部分提交。其余更改将保持不变,以便你可以进行其他修改和提交。这样就可以进行单独的有意义的提交,例如将换行符更改与代码或散文更改分开保存在不同的提交中。

要从提交中排除更改的行,请点击一个或多个更改的行,以便蓝色消失。仍然以蓝色突出显示的行将包含在提交中。

Screenshot of the diff view of a file. The background color for the line number of "I don't want to include this line" is green, not blue.

放弃更改

如果您有不想保留的未提交更改,您可以放弃这些更改。这将从您计算机上的文件中删除这些更改。您可以放弃一个或多个文件中的所有未提交更改,也可以放弃您添加的特定行。

放弃的更改将保存在废纸篓中的日期文件中。在清空废纸篓之前,您可以恢复放弃的更改。

放弃一个或多个文件中的更改

  1. 在已更改文件的列表中,选择您要放弃自上次提交以来更改的文件。要选择多个文件,请单击shift键并单击要放弃更改的文件范围。

  2. 单击**放弃更改**或**放弃选定更改**以放弃一个或多个文件的更改,或单击**放弃所有更改**以放弃自上次提交以来所有文件的更改。

    Screenshot of the "Changes" tab. Two selected files are highlighted in blue. In a context menu, the cursor hovers over "Discard 2 Selected Changes".

  3. 要确认更改,请在“确认放弃更改”窗口中查看受影响的文件,然后单击**放弃更改**。

放弃一个或多个行中的更改

您可以放弃一个或多个未提交的已更改行。

注意

在添加和删除行的更改组中,禁用放弃单行。

要放弃添加的行,请在已更改行的列表中,右键单击要放弃的行号,然后选择**放弃添加的行**。

Screenshot of the diff view of a file. In a context menu, a cursor hovers over "Discard Added Line", highlighted in blue.

要放弃一组已更改的行,请右键单击要放弃的行号右侧的垂直条,然后选择**放弃添加的行**。

Screenshot of the diff view of a file. To the right of the line numbers, a narrow, darker blue line is highlighted with an orange outline.

编写提交消息并推送您的更改

一旦您对已选择包含在提交中的更改感到满意,请编写您的提交消息并推送您的更改。如果您已协作提交,您也可以将提交归属于多个作者。

注意

默认情况下,GitHub Desktop 将推送您与相关提交一起创建的标签到您的存储库。有关更多信息,请参阅“在 GitHub Desktop 中管理标签”。

  1. 在更改列表底部,在“摘要”字段中,键入简短且有意义的提交消息。您可以选择在“描述”字段中添加有关更改的更多信息。

    Screenshot of the "Changes" tab in the sidebar. To the right of a profile picture, a text field containing a commit message is outlined in orange.

  2. 可选地,要将提交归属于其他作者,请单击添加共同作者图标并键入您要包含的用户名。

    Screenshot of the "Changes" tab. In the corner of the "Description" field, the icon for adding a co-author is outlined in orange.

  3. 在“描述”字段下,单击**提交到分支**。

  4. 如果您尝试提交到的分支受保护,Desktop 将会警告您。

    • 要移动您的更改,请单击**切换分支**。
    • 要将您的更改提交到受保护的分支,请单击**提交到分支**。

    有关受保护分支的更多信息,请参阅“关于受保护分支”。

  5. 要将您的本地更改推送到远程存储库,请在存储库栏中单击**推送 origin**。

    Screenshot of the repository bar. A button, labeled "Push origin", is highlighted with an orange outline.

  6. 如果您有一个基于您正在处理的分支的拉取请求,GitHub Desktop 将在存储库栏的“当前分支”部分旁边显示已为拉取请求运行的检查的状态。有关检查的更多信息,请参阅“在 GitHub Desktop 中查看和重新运行检查”。

    如果尚未为当前分支创建拉取请求,GitHub Desktop 将为您提供预览更改并创建一个拉取请求的选项。有关更多信息,请参阅“从 GitHub Desktop 创建问题或拉取请求”。

    Screenshot of the "No local changes" view. A button, labeled "Preview Pull Request", is highlighted with an orange outline.

管理您的提交历史记录

如果您需要撤消提交或修改提交历史记录(以便审阅者更容易跟踪您的更改),GitHub Desktop 提供了许多管理提交历史记录的选项。有关更多信息,请参阅“在 GitHub Desktop 中管理提交的选项”。

进一步阅读