这个项目能做什么

gh-squash-merge 是一个 GitHub CLI 扩展,用于自动化压缩合并提交消息。它无需手动从多个提交中撰写消息,而是解析拉取请求正文,提取位于 `<!-- SQUASH_MERGE_START -->` 和 `<!-- SQUASH_MERGE_END -->` 标记之间的文本,并将该内容用作压缩合并的提交消息。 该工具接受 PR 编号、URL 或分支作为参数;若无参数,则使用与当前分支关联的拉取请求。它支持诸如 `--admin`(管理员合并)、`--auto`(满足要求后自动合并)、`-R/--repo`(针对其他仓库)、`--dry-run`(预览生成的消息)以及 `-U/--use-default-msg`(当未找到消息部分时,回退到标准的 `gh pr merge --delete-branch --squash`)等标志。 安装需要 GitHub CLI、`awk` 和 `mktemp`,并通过 `gh extension install quotidian-ennui/gh-squash-merge` 完成。README 建议添加包含 SQUASH_MERGE 标记的拉取请求模板,以便贡献者可以在 PR 正文中提供结构化的提交消息。该项目根据其 LICENSE 文件中的条款进行许可。