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

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

  •  
  •   zealinux · 2021-05-30 16:58:10 +08:00 · 4411 次点击
    这是一个创建于 1275 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    这方面 git 不适用

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

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

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

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

    如果只是想保存历史版本又没那么高的需求,各种网盘都支持版本管理的,我知道的坚果云是增量存储,Dropbox 看具体文件类型( VeraCrypt 的增量其他大多都不是增量)
    chchwy
        24
    chchwy  
       2021-05-31 08:50:20 +08:00
    以前的 TortoiseSVN 可以比對 office 文件,可以 diff .docx,現在不清楚。
    balabalaguguji
        25
    balabalaguguji  
       2021-05-31 09:29:42 +08:00
    SVN 对二进制支持挺好的,https://svnbucket.com
    ThunderEX
        26
    ThunderEX  
       2021-05-31 11:06:51 +08:00
    有一个 git filter 叫做 rezip: https://github.com/costerwi/rezip
    原理是 docx 之类本质是打包的 xml,这个 filter 让 git 去存储原始的 xml 而不是 zip 包
    12101111
        27
    12101111  
       2021-05-31 22:34:15 +08:00
    https://github.com/ostreedev/ostree
    主要是给 flatpak 和一些云原生操作系统用的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1756 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:43 · PVG 00:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.