Post Merge Rename

🏷️ 合并后自动归档,历史永不丢失

Git 分支合并后自动重命名,保留历史记录,防止误删,适合 DevOps 自动化工作流。

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

使用说明

核心用法

post-merge-rename 是一个轻量级 Git 辅助工具,用于在分支合并后自动重命名源分支,而非直接删除。它扫描已合并到主分支的本地分支,提取合并日期,将分支名追加 --merged-YYYY-MM-DD 后缀后推送到远程,并清理旧分支名。

使用场景

  • PR 合并后的分支归档
  • 定期清理历史分支(作为 wip-release 流程第 10 步自动执行)
  • 团队需保留分支历史但避免分支列表混乱的场景

命令示例

bash scripts/post-merge-rename.sh              # 扫描并重命名所有已合并分支
bash scripts/post-merge-rename.sh --dry-run    # 预览模式
bash scripts/post-merge-rename.sh <branch>     # 重命名单个指定分支

显著优点

1. 历史可追溯:保留完整分支历史,满足审计与回滚需求
2. 误删防护:"永不删除,只重命名" 的保守策略

3. 自动化集成:内置 wip-release 工作流,降低手动操作成本

4. 零依赖开销:仅需 gitbash,无需额外运行时

潜在局限

  • 仅支持 main 作为合并目标分支的检测
  • 重命名后分支列表仍会增长,长期或需额外归档策略
  • 跨平台 bash 兼容性在 Windows 环境需验证
  • 无内置权限校验,依赖 Git 本身的推送权限

适合人群

  • 采用 Git Flow 或类似分支模型的开发团队
  • 需保留分支历史以满足合规要求的工程组织
  • 追求自动化发布流程的 DevOps 实践者

常规风险

| 风险项 | 说明 |
|--------|------|
| 远程覆盖 | 强制推送可能覆盖他人未同步的分支 |
| 日期提取失败 | 非标准合并提交可能无法解析日期 |
| 命名冲突 | 已含 `--merged-` 的分支被跳过,但不会报错提示 |
| CI 触发 | 重命名后的推送可能意外触发持续集成流水线 |

Post Merge Rename 内容

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