核心用法
post-merge-rename 是一个 Git 分支管理工具,专注于非破坏性的分支清理。其核心工作流程为:扫描已合并到主分支的本地分支 → 跳过已重命名的分支(含 --merged- 标识)→ 从 Git 历史提取合并日期 → 执行重命名(如 feature-branch → feature-branch--merged-2026-03-09)→ 推送新分支至远程并删除旧分支名。
支持三种调用模式:无参数(批量处理所有已合并分支)、--dry-run(仅预览)、指定分支名(单分支处理)。作为 wip-release 工作流的第 10 步自动运行。
显著优点
- 历史完整性:零分支删除策略,所有开发历史永久可溯
- 自动化集成:嵌入发布流程,减少人工干预
- 安全预览:
--dry-run模式避免误操作 - 日期标准化:ISO 8601 格式时间戳确保排序友好
- 双端同步:本地重命名后自动更新远程引用
潜在缺点与局限性
- 命名污染:长期运行后仓库分支列表膨胀,影响
git branch可读性 - 权限依赖:需远程仓库删除旧分支的写权限,企业级 Git 托管可能受限
- 日期准确性:依赖合并提交时间戳,变基(rebase)或历史改写场景可能失真
- 无过滤配置:不支持按分支模式(如
hotfix/*)选择性处理 - Bash 依赖:Windows 原生环境需 Git Bash/WSL
适合人群
- 需严格审计追踪的金融/医疗行业开发团队
- 长期维护多版本产品的企业级项目
- 偏好保守分支策略的 Git Flow 实践者
- 使用
wip-release工具链的 DevOps 工程师
常规风险
- 误重命名活跃分支:虽文档声明跳过未合并分支,但手动指定分支名时可能误伤
- 远程引用残留:若网络中断,可能出现本地已改名、远程旧分支仍存在的分裂状态
- CI/CD 触发:重命名操作若触发自动化流水线,可能导致意外构建
- 存储成本:保留所有历史分支增加仓库体积,大型二进制文件场景尤为显著