V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shijingshijing
V2EX  ›  程序员

有什么好的管理二进制文件的方法?现在用 git 管有点费劲。

  •  
  •   shijingshijing · 2017-10-27 14:20:19 +08:00 · 5701 次点击
    这是一个创建于 2372 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手上有大量二进制类型的文件和一堆无法愉快解析成普通文本管理的文件。

    二进制文件举例:iso 镜像,视频,可执行 exe 文件,嵌入式烧写用的 hex 文件和 bin 文件等等。 无法愉快解析成文本管理的文件:office 全家桶(主要是 word 的 doc 文件,excel 的 xls 文件),chm 帮助文件,调试过程中 dump 出来的 memory map 文件,某些普通文本经过类 Base64 编码后的输出文件(这个略奇葩,比如交付给客户用的配置,不想让他们看懂然后随便改)等。

    二进制文件我们最开始没怎么管理,直接存放 ftp,后来有些交付给客户的 iso 文件,客户需求变化频繁,项目迭代较快,版本太多了,客户有时候会要求用以前版本来处理某些特殊的情况,因此为了方便客户,我们也需要对历史版本进行管理了,方便与客户撕逼。因此二进制文件我们需要能记录有哪些变更( git commit 时候的 log 信息)

    后续我们希望能够用一个 cms 专门管理二进制文件,最好是 web 系统,每次要使用直接 download 下来,然后每次客户撕逼经历都直接附加到该版本对应的评论区。。。

    大家有什么好的软件或者 best practice 来处理这个问题么?先谢谢了~

    19 条回复    2022-02-25 21:44:29 +08:00
    b821025551b
        1
    b821025551b  
       2017-10-27 14:28:31 +08:00
    好多镜像站不都是 platform/name/version/(version)/../file 么,同级下加入 readme 或者 change log 之类的文本就可以了。
    gouchaoer
        2
    gouchaoer  
       2017-10-27 15:01:01 +08:00
    Use ftp to save binary files.
    defunct9
        3
    defunct9  
       2017-10-27 15:12:25 +08:00
    seafile
    defunct9
        4
    defunct9  
       2017-10-27 15:33:29 +08:00   ❤️ 4
    ryd994
        5
    ryd994  
       2017-10-27 15:38:59 +08:00 via Android
    上传后返回 hash 把 hash 存到 git 仓库里
    yidinghe
        6
    yidinghe  
       2017-10-27 16:01:07 +08:00   ❤️ 1
    Subversion 保存二进制文件的消耗空间比 Git 要小。参考 Quora 帖子 https://www.quora.com/Is-SVN-or-GIT-useful-to-versioning-big-binary-files-PSD-Video-files-etc
    HarrisonZ
        7
    HarrisonZ  
       2017-10-27 16:10:23 +08:00   ❤️ 1
    git lfs 可以搭建 gitea 的实现,现在可用
    wangxn
        8
    wangxn  
       2017-10-27 16:16:27 +08:00 via Android   ❤️ 1
    Perforce。据说游戏行业都在用这个。
    lulu00147
        9
    lulu00147  
       2017-10-27 16:16:58 +08:00   ❤️ 1
    SmartVersion
    http://www.smartversion.com/
    很好用一直用来整理 windows 镜像,空下来好几 T 的硬盘
    old9
        10
    old9  
       2017-10-27 16:22:47 +08:00 via Android   ❤️ 1
    git lfs 正解吧,github、gitlab 都支持
    我们多媒体项目,用来管理音视频很好用

    不过楼主 dump 文件为什么要管理?
    shijingshijing
        11
    shijingshijing  
    OP
       2017-10-27 18:21:34 +08:00
    @defunct9 视频和 dump 文件都是为了还原灾难现场,撕逼专用的。嵌入式里面,有很多问题是客户那边其他设备造成的,特别是网络通信,工业网络通信,最简单粗暴直接有效的就是 dump 给你看。每次提 issue 和发邮件撕逼,都直接附件传上去。除非使用价格不菲的第三方软件,否则这个就是最优解。这个非常重要,撕逼输了要赔钱的,也是花钱买来的教训。
    shijingshijing
        12
    shijingshijing  
    OP
       2017-10-27 18:30:26 +08:00
    @b821025551b 以前 ftp 管理的时候就是按照你说的这样去做的,但是有个很大的问题,每次交付给客户的不是单个软件,而是多个工具+输入文件一起打包,这个是历史原因造成的,我们也尝试过把这些东西整合一个做成一个平台,然后各个软件做成模块,客户习惯了用一个个工具处理,而且客户自己写了一些脚本来调用这些工具,这些脚本涉及到他们自身的一些 ip,中间还会调用其他公司的工具,所以改造难度有点大。

    我们现在的办法是,软件打包,然后提供一个装箱清单,各个工具版本都放上去,然后给客户去调试的时候,对应这个 package 有什么问题需要记录,dump 文件,视频也是为了这个。个人经验,所有扯皮涉及到金钱的东西,真的是越细致越好,能存多少尽量存多少。
    defunct9
        13
    defunct9  
       2017-10-27 19:55:50 +08:00 via iPhone
    @shijingshijing 兄台是搞什么的。
    shijingshijing
        14
    shijingshijing  
    OP
       2017-10-27 20:04:03 +08:00
    @defunct9 你猜~ ^_^
    print1024
        15
    print1024  
       2017-10-27 20:57:35 +08:00
    Nextcloud 行不
    defunct9
        16
    defunct9  
       2017-10-27 22:24:09 +08:00 via iPhone
    @shijingshijing 我们在找嵌入式的人
    主要目的是解决 batman-adv mesh 网络的一个细节问题:

    可以不了解 batman-adv, 但是需要了解 WiFi 802.11 驱动和用 Wireshark 抓取空中数据包;
    需要在 OpenWRT 上工作过;

    有合适人推选么?
    bookit
        17
    bookit  
       2017-10-28 11:02:39 +08:00
    Windows 下 everything,文件名带上版本号,一个大版本的所有文件就放一个目录

    然后开启此软件内部 http 服务器,

    局域网内在浏览器里面服务器地址,在搜索框内输入要查找的关键字就能列出文件,随意下载,一目了然

    客户也不需要学习什么
    shijingshijing
        18
    shijingshijing  
    OP
       2017-10-28 21:37:27 +08:00
    @defunct9 抱歉我们做的不太一样,我们做的偏工业控制,了解的都是这一块的,你这个应该找通信或者 IoT 方面的。
    lunny
        19
    lunny  
       2022-02-25 21:44:29 +08:00
    Git LFS
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5632 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:36 · PVG 14:36 · LAX 23:36 · JFK 02:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.