Skip to main content

在 GitHub Desktop 中提交并审查对项目的更改

GitHub Desktop 可在您编辑时跟踪对所有文件的所有更改。 您可以决定如何对更改分组以创建有意义的提交。

关于提交

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

  • 具体的更改
  • 进行更改的时间
  • 更改创建者

在进行提交时,必须包含简要描述更改的提交消息。 您也可以在您协作的任何提交上添加一名合作作者。

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

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

选择一个分支并进行更改

  1. 创建新分支,或通过单击工具栏上的 “Current Branch”并从列表中选择分支来选择现有分支。

    “Current Branch”下拉列表视图的屏幕截图。 在“最近使用的分支”下,名为“my-feature”的分支以橙色轮廓突出显示。

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

选择如何显示差异

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

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

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

“README”文件的差异视图的屏幕截图。 齿轮图标在显示“空白”和“差异显示”设置的展开下拉列表上方以橙色标出。

如果您需要查看的文件比默认情况下显示的 GitHub Desktop 更多,则可以扩展差异。

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

“README”文件的差异视图的屏幕截图。 在上下文菜单中的绿色“添加”行上,光标悬停在“展开整个文件”上方。

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

在文本编辑器中更改文件并本地保存后,您会在 GitHub Desktop 中看到更改。

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

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

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

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

  • 要访问暂存的更改,请单击“暂存的更改”。

  • 要将“所有文件中的所有更改”添加到单个提交中,请保留所选列表顶部的复选框处于选中状态。

    “更改”选项卡的屏幕截图。在已更改文件列表上方,文本“3 个已更改的文件”旁边,选中的复选框以橙色标出。

  • 要将“一个或多个文件中的所有更改”添加到单个提交中,请取消选中不想包含的文件旁边的复选框,只保留要包含在提交中的文件。 在选择文件后使用 SpacebarEnter 键可切换复选框状态。

创建部分提交

如果一个文件包含多处更改,但只有部分更改要包含在提交中,则可创建部分提交。 其余更改会保持不动,以便您进行其他修改和提交。 这允许您进行单独、有意义的提交,例如使提交中的换行符更改区别于代码或文字更改。

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

文本文件的差异视图的屏幕截图。 在文本“我不想包含此行”旁边,行号后面的背景色为绿色,而不是蓝色。

放弃更改

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

丢弃的更改保存在回收站中带日期的文件中。 在回收站清空之前,您可以恢复丢弃的更改。

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

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

  2. 单击“放弃更改”或“放弃所选更改”以放弃对一个或多个文件的更改,或单击“放弃所有更改”以放弃自上次提交后对所有文件的更改 。

    “更改”选项卡的屏幕截图。两个选定的文件以蓝色突出显示。 在上下文菜单中,光标悬停在“放弃 2 个选定的更改”上。

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

丢弃一行或多行中的更改

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

注意: 在添加和删除行的一组更改中不可放弃单行。

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

文件的差异视图的屏幕截图。 在上下文菜单中,光标悬停在“放弃添加的行”上,以蓝色突出显示。

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

文件的差异视图的屏幕截图。 在行号的右侧,用橙色轮廓突出显示一条较窄的深蓝色线。

编写提交消息并推送更改

对选择要包含在提交中的更改感到满意后,编写提交消息并推送更改。 如果协作处理了某个提交,也可以将提交归于多个作者。

注意:默认情况下,GitHub Desktop 会将您创建的标记推送到含相关提交的仓库。 有关详细信息,请参阅“在 GitHub Desktop 中管理标记”。

  1. 在更改列表底部的 Summary(摘要)字段中,键入一条简短、有意义的提交消息。 您也可以在 Description(说明)字段中添加关于更改的更多信息(可选) 。

    边栏中“更改”选项卡的屏幕截图。 在个人资料图片的右侧,包含提交消息的文本字段用橙色标出。

  2. (可选)要将某个提交归于另一个作者,请单击合作作者图标并输入要包含的用户名。

    “更改”选项卡的屏幕截图。在“说明”字段的一角,用于添加合著者的“带加号的人员”图标用橙色标出。

  3. 在“说明”字段下,单击“提交到分支”。

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

    • 若要移动更改,请单击“切换分支”。
    • 若要将更改提交到受保护的分支,请单击“提交到 BRANCH”。

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

  5. 若要将本地更改推送到远程存储库,请在存储库栏中单击“推送源”。

    存储库栏的屏幕截图。 标有“推送源”的按钮用橙色轮廓突出显示。

  6. 如果你有基于所处理的分支的拉取请求,GitHub Desktop 将在存储库栏的“Current Branch”部分旁显示已针对拉取请求运行的检查的状态。 有关检查的详细信息,请参阅“在 GitHub Desktop 中查看和重新运行检查”。

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

    “无本地更改”视图的屏幕截图。 标有“预览拉取请求”的按钮以橙色边框突出显示。

管理提交历史记录

如需撤消提交或修改提交历史记录(以便审阅者更轻松地跟踪所做的更改),GitHub Desktop 提供了许多用于管理提交历史记录的选项。 有关详细信息,请参阅“用于在 GitHub Desktop 中管理提交的选项”。

延伸阅读