Squash 合并
Squash 合并是一种合并策略,它会将 Pull Request 中的所有提交压缩(Squash)成一个单一的提交,然后将这个合并提交应用到目标分支上。这可以帮助项目保持干净的提交历史,而不会因为大量小提交而变得混乱。
通常,Squash 合并用于将一个功能或修复合并到主分支时,以便保持提交历史的连贯性。
适用场景
1. 当一个 Pull Request 包含多个中间状态的提交,而这些提交在目标分支中并没有独立意义。
2. 团队希望保持整洁的提交记录,便于代码审查和后续维护。
3. Pull Request 关联的功能较小,所有变更可以自然地总结在一个提交中。
使用 Squash 合并
使用 Squash 合并的基本步骤如下:
- 确保开启了 Squash 合并:
- 在项目详情页点击「项目设置」->「Pull Requests设置」,并在「Pull Requests-合并模式」中启用了「通过 merge commit 合并」。
- 接受Squash 合并:
- 需要Squash 合并的话要求PR创建者在创建PR时勾选「接受Pull Request合入时Squash提交」。
- 启用 Squash 合并选项:
-
在PR详情页「讨论」选项卡的下方,你将看到 Squash 合并的复选框。
-
为合并提交提供一个清晰的描述,以便其他开发者了解合并的目的和更改。
- 完成合并:
-
点击「合入」 按钮,GitCode 将合并多个提交并生成一个新的提交。
-
Squash 合并功能可以更好地管理提交历史,使项目的版本控制和代码审查更加清晰和有序。
注意事项
1. 原始提交记录会丢失
• Squash 合并后,Pull Request 的所有原始提交将被压缩到一个提交中,历史无法分开查看。
2. 不适合大型功能开发
• 如果一个 Pull Request 涉及多个独立功能,建议保持独立提交记录,而不是使用 Squash。
3. 协作开发中的一致性
• 团队应明确约定何时使用 Squash 合并,避免风格不一致。