跳至主要内容

在 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 "README" file. A gear icon is outlined in orange above an expanded dropdown displaying "Whitespace" and "Diff display" settings.

如果您需要查看比 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.

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

创建部分提交

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

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

Screenshot of the diff view of a text file. Next to the text "I don't want to include this line", the background color behind the line numbers 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, a "person with a plus sign" 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 中管理提交的选项”。

进一步阅读