跳至主要内容

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

进一步阅读