压缩和合并

在你处理一个特性分支时,通常会创建一些小的、独立的提交。这些小提交帮助描述构建特性的过程,但在特性完成后,可能会使你的 Git 历史记录显得杂乱。完成特性后,你可以通过使用 合并并压缩 策略,将这些提交合并起来,并确保 Git 仓库中的合并历史更加简洁。

  • 小的提交被合并在一起,使得 撤销所有部分更改 更加简单。
  • 当单个提交合并到目标分支时,它会保留完整的提交历史。
  • 你的基础分支保持干净,包含有意义的提交信息。

每次分支合并到你的基础分支时,最多会添加两个提交:

  • 一个由压缩分支的提交创建的单一提交。
  • 一个合并提交,除非你在项目中启用了 快进合并,快进合并会禁用合并提交。

默认情况下,压缩提交包含以下元数据:

  • 消息:压缩提交的描述,或自定义的消息
  • 作者:创建合并请求的用户
  • 提交者:发起压缩的用户

项目所有者可以为所有压缩提交和合并提交 创建新的默认消息

为合并请求设置默认的压缩选项

具有权限创建或编辑合并请求的用户可以为合并请求设置默认的压缩选项。

前提条件:

  • 你的项目必须 配置 为允许或鼓励压缩。

操作步骤:

  1. 在左侧导航栏中,选择 搜索或转到 并找到你的项目。
  2. 选择 代码 > 合并请求 并找到你的合并请求。
  3. 选择 编辑
  4. 选择或清除 接受合并请求时压缩提交 复选框。
  5. 选择 保存更改

在合并请求中压缩提交

如果你的项目允许为合并请求选择压缩选项,可以在合并过程中压缩提交:

  1. 在左侧导航栏中,选择 搜索或转到 并找到你的项目。
  2. 选择 代码 > 合并请求 并找到你的合并请求。
  3. 滚动到包含 合并 按钮的合并请求报告部分。
  4. 确保选中 压缩提交 复选框。如果项目的压缩选项设置为 不允许要求,则不会显示此复选框。
  5. 可选:要修改压缩提交消息或合并提交消息(取决于你的项目配置),请选择 修改提交消息
  6. 当合并请求准备好合并时,选择 合并

为项目配置压缩选项

前提条件:

  • 你必须至少拥有该项目的维护者角色。

为项目中的所有合并请求配置默认的压缩行为:

  1. 在左侧导航栏中,选择 搜索或转到 并找到你的项目。
  2. 选择 设置 > 合并请求
  3. 合并时压缩提交 部分,选择你期望的行为:
    • 不允许:永远不执行压缩,且不会显示此选项。
    • 允许:允许压缩,但默认未选中。
    • 鼓励:允许压缩并默认选中,但可以禁用。
    • 要求:总是执行压缩。虽然合并请求会显示压缩选项,但用户无法更改它。
  4. 选择 保存更改

相关主题