feat: git retime 改为在 --start-date/--end-date 区间内均匀分布提交

- 新增 --end-date:提交按比例铺满 [start-date, end-date],第 i 个提交
  落在第 i×天数÷提交数 天,提交远少于天数时也不会堆在第一天
- 移除 --per-day / --day-gap:原先的“每天一个、日期顺延”语义不直观
- 只给 --start-date 时集中在该日;--end-date 需配合 --start-date 且不早于它
- 同一天的多条提交仍按顺序落在 21:00-23:00 之间
- 文档与预览文案同步为区间语义
This commit is contained in:
2026-11-01 10:11:39 +08:00
parent 1ae9488d8a
commit 84aa91ba7f
7 changed files with 157 additions and 130 deletions
+2 -2
View File
@@ -487,8 +487,8 @@ func Builtin() *Registry {
Summary: "把指定日期范围的提交时间改到 21:00-23:00 并强推",
Action: "读取本地分支在给定日期范围内(含两端)的提交,保留各自的原日期," +
"把时分秒重排到 21:00-23:00 之间:同一日期内相邻提交严格递增,间隔取 5-40 分钟的随机值(秒位随机)," +
"也可用 --interval match-remote 参照远程分支的间隔;加 --start-date 时改为按顺序重排日期" +
"(--per-day 控制每天几个、--day-gap 控制日期间隔)。随后重建这段历史并以 --force-with-lease 强推。" +
"也可用 --interval match-remote 参照远程分支的间隔;加 --start-date 时改为按顺序重排日期," +
"均匀铺在 [--start-date, --end-date] 之间。随后重建这段历史并以 --force-with-lease 强推。" +
"改动前自动创建 refs/kopsc-backup/<分支>-<时间戳> 备份引用,工作区有未提交改动时拒绝执行;" +
"默认只打印预览表并以退出码 2 结束,必须显式加 --yes 才会改写并推送",
Usage: "<开始日期> <结束日期> [选项]",