feat: git retime 支持重排提交日期,新增 install.sh

- 新增 --start-date:按原顺序从指定日期起重排提交日期,默认每天一个
- 新增 --per-day 控制每天提交数、--day-gap 控制日期间隔;两者需配合
  --start-date 使用,否则报错提示
- 不给 --start-date 时保持原行为(保留原日期,只改时分秒)
- 预览在重排模式下显示完整的新日期时间,并说明日期规则
- install.sh:补 shebang 与可执行权限,构建后安装到 /usr/local/bin
- 文档:README.git.md 增加「重排日期」小节与选项表
This commit is contained in:
2026-11-01 10:05:19 +08:00
parent f3b90d205c
commit 1ae9488d8a
10 changed files with 291 additions and 18 deletions
+2 -1
View File
@@ -487,7 +487,8 @@ func Builtin() *Registry {
Summary: "把指定日期范围的提交时间改到 21:00-23:00 并强推",
Action: "读取本地分支在给定日期范围内(含两端)的提交,保留各自的原日期," +
"把时分秒重排到 21:00-23:00 之间:同一日期内相邻提交严格递增,间隔取 5-40 分钟的随机值(秒位随机)," +
"也可用 --interval match-remote 参照远程分支的间隔。随后重建这段历史并以 --force-with-lease 强推。" +
"也可用 --interval match-remote 参照远程分支的间隔;加 --start-date 时改为按顺序重排日期" +
"(--per-day 控制每天几个、--day-gap 控制日期间隔)。随后重建这段历史并以 --force-with-lease 强推。" +
"改动前自动创建 refs/kopsc-backup/<分支>-<时间戳> 备份引用,工作区有未提交改动时拒绝执行;" +
"默认只打印预览表并以退出码 2 结束,必须显式加 --yes 才会改写并推送",
Usage: "<开始日期> <结束日期> [选项]",