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 创建问题或拉取请求”。

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

延伸阅读