Post Merge Rename

🏷️ 合并即归档,历史零丢失

Git 分支合并后自动重命名,保留历史记录,避免误删分支,适合 DevOps 流水线集成。

收藏
4.4k
安装
1.3k
版本
1.9.60
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

post-merge-rename 是一个轻量级 Git 辅助工具,用于在分支合并后自动重命名源分支而非删除,从而完整保留开发历史。执行时会扫描本地已合并到 main 的分支,跳过已标记 --merged- 的分支,从 Git 历史中提取实际合并日期,将 feature-branch 重命名为 feature-branch--merged-YYYY-MM-DD,并同步更新远程仓库。

显著优点

  • 零数据丢失:相比删除分支,重命名策略确保任何关联的 CI/CD 记录、部署标签、代码审查历史都可追溯
  • 自动化集成:作为 wip-release 流水线第 10 步自动执行,减少人工操作
  • 确定性命名:基于真实合并日期的时间戳,避免命名冲突
  • dry-run 预览:支持 --dry-run 模式,安全验证变更范围

潜在缺点与局限性

  • 远程仓库污染:长期积累大量 --merged- 后缀分支可能导致远程分支列表臃肿
  • 权限依赖:需要远程仓库写权限执行推送和旧分支删除操作
  • 命名硬编码--merged- 前缀和日期格式不可配置,可能与团队现有规范冲突
  • Bash 依赖:Windows 环境需 WSL 或 Git Bash,原生 CMD/PowerShell 不支持

适合人群

  • 采用 Git Flow 或类似分支策略的中大型开发团队
  • 需要审计合规、禁止删除分支的金融/医疗行业 DevOps 工程师
  • 使用 wip-ai-devops-toolbox 工具链的开发者

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 误重命名活跃分支 | 工具会跳过含 `--merged-` 的分支,但可能误判 | 执行前使用 `--dry-run` 验证 |
| 远程推送失败 | 网络中断或权限不足导致状态不一致 | 具备幂等性,可重复执行 |
| 日期解析错误 | 非常规合并提交可能导致日期提取失败 | 依赖标准 Git merge commit 格式 |
| 脚本注入 | 分支名含特殊字符可能引发 Shell 注入 | 输入未完全转义,建议限制分支命名规范 |

Post Merge Rename 内容

手动下载zip · 3.2 kB
package.jsonapplication/json
请选择文件