核心用法
post-merge-rename 是一个 Git 分支管理工具,专注于解决代码合并后的分支保留问题。其核心设计理念是"永不删除分支,只重命名",通过在已合并分支名称后追加 --merged-YYYY-MM-DD 时间戳标签,实现历史记录的完整保存。
三种执行模式
| 命令 | 用途 |
|:---|:---|
| `bash scripts/post-merge-rename.sh` | 扫描并重命名所有已合并分支 |
| `bash scripts/post-merge-rename.sh --dry-run` | 预览模式,仅展示将要执行的操作 |
| `bash scripts/post-merge-rename.sh <branch>` | 针对特定分支执行重命名 |
自动化集成
该工具作为 wip-release 工作流的第 10 步自动执行,无缝融入 CI/CD 流水线。
显著优点
1. 零数据丢失风险:物理删除改为逻辑归档,保留完整的提交历史与分支关联信息
2. 可追溯性强:日期标签精确标记合并时间点,便于后续审计与问题回溯
3. 远程同步机制:自动推送重命名后的分支到 origin,并清理旧分支名,保持仓库整洁
4. 幂等安全设计:自动跳过已含 --merged- 标记的分支,避免重复处理
5. 轻量依赖:仅需 git 与 bash,无额外运行时环境
潜在局限
- 命名空间膨胀:长期积累可能导致分支列表冗长,影响
git branch可读性 - 权限要求:需具备远程仓库推送权限,企业内网或受保护分支场景可能受限
- 日期精确性依赖:合并日期提取自 git 历史,若历史被篡改(如 rebase)可能产生偏差
- 无图形界面:纯 CLI 工具,对非技术用户存在学习门槛
适合人群
- DevOps 工程师:需要自动化分支清理与版本发布流程
- 团队技术负责人:重视代码审计轨迹与合规要求的项目
- 开源维护者:管理大量贡献分支的仓库维护工作
常规风险
| 风险类型 | 说明 | 缓解措施 |
|:---|:---|:---|
| 误操作风险 | 错误重命名活跃分支 | 工具自动排除含 `--merged-` 的分支,建议先用 `--dry-run` 验证 |
| 权限失败 | 远程推送被拒绝 | 确保执行用户拥有目标分支写权限 |
| 命名冲突 | 极端情况下新名称已存在 | 基于 git 原生重命名机制,冲突时操作失败并报错 |
| 历史篡改 | 强制推送覆盖远程分支 | 工具设计为追加式操作,不修改提交历史本身 |