跳至主要内容

在 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 中管理提交的选项”。

进一步阅读