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

有没有二进制的版本管理软件推荐

  •  
  •   zealinux · 63 天前 · 2229 次点击
    这是一个创建于 63 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Mac 下管理 MS Office 家的 pptx,xlsx 文件, 还有 jpg/png 等二进制文件。

    这方面 git 不适用

    27 条回复    2021-05-31 22:34:15 +08:00
    BeautifulSoap
        1
    BeautifulSoap   63 天前 via Android
    svn 满足你需求
    GordianZ
        2
    GordianZ   V2EX Moderator   63 天前
    你需要的是版本比对工具(如 Beyond Compare)来展示不同版本差异。这跟 git 都不搭界,git 存二进制一点问题都没有。
    cmdOptionKana
        3
    cmdOptionKana   63 天前
    可以看看这个,作者在 V 站宣传过几次 https://www.vfilename.com/
    BeautifulSoap
        4
    BeautifulSoap   63 天前   ❤️ 1
    @GordianZ git 可以存二进制,但并不适合用来存二进制。git 存二进制文件不是按照差分存的,二进制文件哪怕只改了一个字节 git 都会把二进制文件给完整存一份。1G 的二进制文件每次只改 1 字节,改个 20 次,那么 git 的 repo 体积会增加 20GB 。这方面 svn 更合适,对二进制文件 svn 是按照差分存的

    当然无论是 svn 、git 对二进制都没法展示 diff,所以如果 lz 需求是想知道 diff 的话,找的不应是版本管理软件
    Rheinmetal
        5
    Rheinmetal   63 天前
    pptx xlsx 里面是 xml 可以配置成文本 diff
    图片上 git lfs ?
    d5
        6
    d5   63 天前
    随手另存为。文件名加上_20210530_3 之类的后缀做区分即可。还能便捷排序。。。
    ho121
        7
    ho121   63 天前 via Android
    用 office 的审阅功能?
    Yadomin
        8
    Yadomin   63 天前 via Android   ❤️ 1
    存到 OneDrive 里就带版本管理了
    codehz
        9
    codehz   63 天前 via Android
    @BeautifulSoap 文本文件也不是存差异的(
    wangkun025
        10
    wangkun025   63 天前
    选择了 office 的话,这个问题就无解了吧。
    毕竟 office 文件的格式非常复杂。
    neoblackcap
        11
    neoblackcap   63 天前
    @codehz 但是文本文件可以压缩,这也是为什么要搞 git-lfs 的一个原因。

    @zealinux 古有 svn, perforce,现有 Mercurial (Hg)。选一个自己喜欢用的就好。如果是比较熟悉 git 的话,那么用 hg 挺合适的,都是 DVCS 。
    MarkLeeyun
        12
    MarkLeeyun   63 天前
    啊。这。老哥怕是对二进制有什么误解。这些叫 富文本文件。
    wellsc
        13
    wellsc   63 天前
    Howlaind
        14
    Howlaind   63 天前
    @MarkLeeyun #12 也没说 rtf 文件呀
    MarkLeeyun
        15
    MarkLeeyun   63 天前
    @Howlaind 啊。这。咱这理解的。好吧。不过这类文件确实比较难以管理。
    xiaoyiyu
        16
    xiaoyiyu   62 天前 via iPhone
    office 的话有 pandoc 还可以 diff
    http://pandoc.org/
    图片就不太方便了,看其他老哥回答
    xiaoyiyu
        17
    xiaoyiyu   62 天前 via iPhone
    @xiaoyiyu pandoc 可以和 git 结合使用
    zjsxwc
        18
    zjsxwc   62 天前 via Android
    二进制文件怎么 diff,怎么 merge 解决冲突,
    每种二进制文件都有自己的格式标准哦,
    除非指定二进制文件类型,比如 office 文件的版本管理,比如 bmp 文件的版本管理,

    而 jpg 、mp4 这种套了容器压缩的本事就很
    zjsxwc
        19
    zjsxwc   62 天前 via Android
    而 jpg 、mp4 这种套了容器压缩算法的本身就很复杂了,diff 很难
    knives
        20
    knives   62 天前
    git lfs 个人觉得算是可用的,实现原理基本相当于用 git 管理文件的引用,文件通过 webdav 之类的协议另外管理;但不知道能不能满足楼主的需求。
    icyalala
        21
    icyalala   62 天前
    现在的 docx 、xlsx 之类的文件,实际就是把一堆 xml 和资源文件打成 zip 包然后改个扩展名,所以本质是 zip 包。
    要不然用与 Office 集成的相关工具,要不然就直接 SVN 、Perforce,反正很多大公司也这么用。
    hoyixi
        22
    hoyixi   62 天前
    有些网盘提供这种版本管理功能,但是大概率付费
    SingeeKing
        23
    SingeeKing   62 天前 via iPhone
    想要存差异的话 1L 不就说了,svn 就可以啊

    如果只是想保存历史版本又没那么高的需求,各种网盘都支持版本管理的,我知道的坚果云是增量存储,Dropbox 看具体文件类型( VeraCrypt 的增量其他大多都不是增量)
    chchwy
        24
    chchwy   62 天前
    以前的 TortoiseSVN 可以比對 office 文件,可以 diff .docx,現在不清楚。
    balabalaguguji
        25
    balabalaguguji   62 天前
    SVN 对二进制支持挺好的,https://svnbucket.com
    ThunderEX
        26
    ThunderEX   62 天前
    有一个 git filter 叫做 rezip: https://github.com/costerwi/rezip
    原理是 docx 之类本质是打包的 xml,这个 filter 让 git 去存储原始的 xml 而不是 zip 包
    12101111
        27
    12101111   61 天前
    https://github.com/ostreedev/ostree
    主要是给 flatpak 和一些云原生操作系统用的
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1880 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:11 · PVG 19:11 · LAX 04:11 · JFK 07:11
    ♥ Do have faith in what you're doing.