V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
forcecharlie
V2EX  ›  git

分享一个 Git 存储库治理利器 - hot

  •  
  •   forcecharlie · 19 小时 24 分钟前 · 992 次点击

    最近我们在下一代版本控制系统 HugeSCM (https://github.com/antgroup/hugescm)整合了一个 Git 存储库治理利器 hot ,现在分享给 v 友,它支持很多的场景:

    • 你可以使用 hot size (原始大小)/hot az (近似压缩大小) 查看仓库中的大文件。
    • Git 存储库误提交了密码凭证等,可以使用 hot remove 删除并重写历史记录,hot remove 的重写速度特别快(通常比 BFG 之类的工具快)。
    • 你也可以直接使用 hot smart 交互式操作删除仓库中的大文件,它结合了 size, remove 命令(如: hot smart -L20m)。
    • 你可以使用 hot mc 将 Git 存储库的对象格式迁移到 SHA256,也可以从 SHA256 的迁移到 SHA1应该是第一个 Git SHA256 迁移工具)。
    • 仓库无效分支标签太多,可以使用 hot prune-refs (按前缀匹配)/hot expire-refs (按过期时间,是否合并) 删除,亦可以使用 hot scan-refs 查看分支的情况。
    • 你可以使用 hot unbranch 将存储库的历史线性化,也就是不包含任何合并点。
    • 你亦可以使用 hot unbranch -K1 master -Tnew-branch 基于特定的版本创建一个孤儿分支,这将保留最近的历史,可用于开源或者重置历史场景。
    • 你可以使用 hot cat 查看存储库中的文件,commit/tree/tag/blob,其中 commit/tree/tag 可以使用 --json 输出成 JSONblob 则能智能的使用 16 进制输出二进制文件。
    hot cat HEAD:docs/images/blob.png
    
    image

    比如你查看仓库的信息,可以这样做:

    hot stat
    
    image

    将 Git 存储库对象格式从 SHA1 迁移到 SHA256:

    hot mc https://github.com/antgroup/hugescm.git
    
    image
    2 条回复    2025-09-08 12:06:37 +08:00
    Devifish
        1
    Devifish  
       18 小时 47 分钟前
    能支持 git 大文件迁移 git lfs 并重写历史记录么
    forcecharlie
        2
    forcecharlie  
    OP
       17 小时 19 分钟前
    @Devifish git lfs 就自带了 git lfs migrate 能力,所以这个我们并不提供。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 21:26 · PVG 05:26 · LAX 14:26 · JFK 17:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.