爱意满满的作品展示区。
liuzhiyong

[开源] 简单粗暴的版本管理

  •  
  •   liuzhiyong · Dec 19, 2020 · 8708 views
    This topic created in 1990 days ago, the information mentioned may be changed or developed.

    简介

    使用压缩包的文件名,进行简单的版本管理。

    场景

    例如编写一个 Word 文档,要版本管理。这时候使用 Git/SVN 显得“大炮打蚊子”。

    特点

    • 非常简单粗暴,就是利用 WinRAR (知道有 7 Zip,但是 RAR 真是“久经考验”呀)。
    • 各个版本在 Windows 的文件管理里面一目了然,即使没有这个工具(版本信息都在文件名里面嘛)。
    • 完全绿色软件。
    • 完全没有联网的功能(甚至没有检查新版本更新)。

    链接

    有待改进

    • PDF 文档目前在某些设备上不清楚。
    • 搜索压缩包(关键词过滤)目前区分大小写英文字母。
    • 压缩包列表的滚动条,快速点击两下,目前会触发双击解压(暂时可以拖动滚动条)。
    Supplement 1  ·  Dec 19, 2020
    Office 文档 / 电路图的设计稿 / Photoshop 文件 / 等等 —— 用这个,简单粗暴,方便可靠。

    (请务必看到,很多人用电脑处理文件,大部分不是专业程序员)
    Supplement 2  ·  Dec 19, 2020
    我见过非常厉害的程序员,比我厉害多了,远超行业平均水平,也用压缩包做版本管理。

    真的是就是搞“keep it simple, stupid”

    https://en.wikipedia.org/wiki/KISS_principle

    https://zh.wikipedia.org/wiki/KISS%E5%8E%9F%E5%88%99
    Supplement 3  ·  Dec 20, 2020
    我不在互联网行业。所在行业喜欢老技术,说好听是“久经考验”,说难听是“老土傻冒”。
    53 replies    2023-02-10 12:03:50 +08:00
    robot1
        1
    robot1  
       Dec 19, 2020
    git 本地版本管理 还啥炮
    MakeItGreat
        2
    MakeItGreat  
       Dec 19, 2020 via Android
    当时想实现一个类似
    恭喜楼主
    eason1874
        3
    eason1874  
       Dec 19, 2020   ❤️ 4
    没看懂这跟手动输入压缩包文件名有什么区别。
    liuzhiyong
        4
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @robot1 这个工具超级简单,Git 太复杂,“太重”。
    liuzhiyong
        5
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @MakeItGreat 哈哈,欢迎修改开源代码,做成自己想要的样子。
    liuzhiyong
        6
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @eason1874 不用重复输入用户名;自动加上日期时间;说明文字可以很长,把窗口拉长即可;压缩包的列表快速关键词过滤;压缩包的表格快速打开内容,双击即可。
    kingfun
        7
    kingfun  
       Dec 19, 2020   ❤️ 1
    git 的分布式版本管理才是神器,而且 git 一点也不重,简单的版本管理就是 pull 和 push,连 merge 都用不上,这你跟我说复杂?那干脆别用电脑了。
    cbangchen
        8
    cbangchen  
       Dec 19, 2020 via iPhone
    认真看了一遍,认为这东西完全没有用。不过开心就好,不需要有用。
    lxmfly123
        9
    lxmfly123  
       Dec 19, 2020   ❤️ 1
    换个叫法,叫 archive,是不是比版本控制好多了?
    loading
        10
    loading  
       Dec 19, 2020 via Android
    我就写了一个压缩文件夹的 bat,拖过去就会生成一个“备份”文件夹,然后压缩,文件名带当前时间。
    liuzhiyong
        11
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @kingfun 大哥,真的有很多电脑用户连 Git 是啥都不知道。更别说它的术语了。
    liuzhiyong
        12
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @cbangchen 对于熟练 Git/SVN 的人,用处确实有限。重复说一遍,很多处理文件的人根本没听过 Git 。
    liuzhiyong
        13
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @lxmfly123 archive 太宽泛了,这个工具就是“版本信息在(压缩包的)文件名里面”。
    liuzhiyong
        14
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @loading 还是有点区别的,这个有用户名和说明文字,有快速筛查解压的表格。
    loading
        15
    loading  
       Dec 19, 2020 via Android
    @liuzhiyong 加注解什么的也能写到批处理,我只是说一个一行代码的方法而已。
    lxmfly123
        16
    lxmfly123  
       Dec 19, 2020
    @liuzhiyong 你说的“版本信息在(压缩包的)文件名里面”,不就是 archive 的意思吗?
    https://baike.baidu.com/item/%E5%BD%92%E6%A1%A3/11012855
    liuzhiyong
        17
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @loading 了解,创建压缩包确实“一行代码”可以搞定。有个图形界面更香嘛。
    Jirajine
        18
    Jirajine  
       Dec 19, 2020 via Android
    git 虽然功能强大,但设计有一定问题,学习成本高尤其是非 CS 领域人士。
    不过可以换 mercurial 这样的简单版本管理工具,再配个 GUI,大部分人用起来都差不多了。
    liuzhiyong
        19
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @lxmfly123 知道的,archive 符合此处情境,vfilename 的说法直接了当呀。
    liuzhiyong
        20
    liuzhiyong  
    OP
       Dec 19, 2020 via Android
    @Jirajine 收到,这个工具就是“简单粗暴,方便可靠”。功能性比 Git 差远了,我知道的。
    SingeeKing
        21
    SingeeKing  
    PRO
       Dec 19, 2020
    如果简单的版本管理需求,大部分用户还是希望的是完全无感,因为他们的需求仅仅是在出现意外时能恢复到某一特定版本,如果每次需要他们自行进行「版本创建」并填写这次修改了什么对他们而言过于麻烦了。因此目前的 Mac 软件思路都是利用系统 Time Machine 功能在保存(甚至是自动保存)时直接创建好版本,对于大多数云服务(例如 Dropbox 等网盘、Google Drive 等在线文档工具)也都是保存(或自动保存)时创建版本。

    而对于复杂的需求,就真的不仅仅是一个「恢复」。例如 git 用法有各种分支管理、diff 等等,这种单纯的归档工具意义并不大。
    liuzhiyong
        22
    liuzhiyong  
    OP
       Dec 19, 2020
    @SingeeKing

    “他们的需求仅仅是在出现意外时能恢复到某一特定版本,如果每次需要他们自行进行「版本创建」并填写这次修改了什么对他们而言过于麻烦了”

    如果不填写说明,可能很难“恢复到某一特定版本”(描述就只有日期时间了,“特定版本”是哪个?)

    “而对于复杂的需求,就真的不仅仅是一个「恢复」。例如 git 用法有各种分支管理、diff 等等,这种单纯的归档工具意义并不大。”

    并非只有代码才有版本管理,例如电路图的设计稿,git 的 diff 等等特性就没用的。

    “对于大多数云服务(例如 Dropbox 等网盘、Google Drive 等在线文档工具)也都是保存(或自动保存)时创建版本。”

    事实上,很多项目的开发环境,是彻底断网的。“完全没有联网的功能”是一个卖点。
    suzic
        23
    suzic  
       Dec 19, 2020 via Android
    我觉得很有用(对于非程序员来说)
    renmu123
        24
    renmu123  
       Dec 19, 2020 via Android
    git 不适合管理 word,目前 word 版本管理还是要看 office365 + onedrive 。虽然也不咋滴,但起码是有了
    MakeItGreat
        25
    MakeItGreat  
       Dec 19, 2020 via Android
    替楼主回复:绝大部分人需要的是一个
    靠自动重命名:版本 1 版本 2 版本 3 进行的版本控制软件
    Git onedrive 都太复杂了,不用
    考虑一下绝大部分人的计算机水平!!!!!!
    MakeItGreat
        26
    MakeItGreat  
       Dec 19, 2020 via Android
    牛逼和专业要么付费,要么学习
    考虑的是普通用户
    引用 V 站两年前一句话:说拼多多不行的,都是没有眼光的
    这才是拼多多版版本控制,
    liuzhiyong
        27
    liuzhiyong  
    OP
       Dec 19, 2020
    @suzic 多谢支持 :-)
    liuzhiyong
        28
    liuzhiyong  
    OP
       Dec 19, 2020
    @renmu123 收到,云服务有优势,离线工具也有好处,那就是用户绝对掌控自己的内容,不依赖任何外在条件。
    liuzhiyong
        29
    liuzhiyong  
    OP
       Dec 19, 2020
    @MakeItGreat 多谢支持 :-)
    JackalZhao
        30
    JackalZhao  
       Dec 19, 2020
    理解你想做的。许多人做程序员时间长了,就丧失从普通人视角思考的能力了。
    yan5990853
        31
    yan5990853  
       Dec 19, 2020
    对普通用户还是有用的。
    有个不成熟的建议,弄个 git 超精简的图形界面,支持自动半自动备份更佳。
    这样小白用户也好上手,依托 git 后期想做大做强也好弄。
    favourstreet
        32
    favourstreet  
       Dec 20, 2020 via Android
    还是不够 simple 。就像楼上说的,用户只是想要一个无限 ctrl-z 而已。要挪到一个新版本时,我觉得还不如把旧的复制一份然后立刻送进回收站,想回到以前的版本就去回收站里翻出来。(回收站支持重名的被删文件和修改 /删除日期排序)
    MakeItGreat
        33
    MakeItGreat  
       Dec 20, 2020 via Android
    熬夜搞定了一个 powershell 脚本:
    启动脚本时,将该文件夹所有文件复制到一个用时间命名的文件夹,
    随后监控该文件夹,所有变化的文件,均移到一个新的用时间命名的文件夹
    不是科班,工作完全不相关,看不懂 c#,这样我已经很满意了
    以后准备加一个开机时,删除这些时间命名文件夹的重复文件,移除空文件夹
    大佬勿喷
    MakeItGreat
        34
    MakeItGreat  
       Dec 20, 2020 via Android
    @MakeItGreat 代码实在太傻逼了,就不让大家看了
    跟大家相比,我是在捏泥巴
    liufuseng
        35
    liufuseng  
       Dec 20, 2020 via Android
    @MakeItGreat 参考 31 楼的建议,我觉得挺好
    事实上确实很多开发环境是完全断网的,需要离线工具。倒是有内部 SVN,对于 Word 等等还是不够有好
    jinliming2
        36
    jinliming2  
       Dec 20, 2020 via iPhone   ❤️ 1
    emmmm,rar 是专利格式,只有被授权的软件才能创建 rar 压缩文件。
    本来还想说楼主怎么创建 rar 的,进 GitHub README 竟然没看到项目描述,要点到链接的第三方网站链接里才看到(手机上 App 跳来跳去的)
    然后才发现,得先装 WinRAR……
    而这个软件个人免费版的广告……团体还得用收费版……emmmm,还是不如 7z 香……
    liuzhiyong
        37
    liuzhiyong  
    OP
       Dec 20, 2020
    @JackalZhao 多谢支持 :-)
    liuzhiyong
        38
    liuzhiyong  
    OP
       Dec 20, 2020
    @yan5990853 多谢支持 :-) 这个小工具还是保持“傻瓜化”吧。“自动半自动备份”不好搞,那样描述只有日期时间,恢复老版本的时候,用户不知道是哪个归档文件。
    liuzhiyong
        39
    liuzhiyong  
    OP
       Dec 20, 2020
    @favourstreet 回收站确实有这个功能。但是用户备份的时候就蒙了,回收站不能“导出”。(压缩包就拷贝即可)
    liuzhiyong
        40
    liuzhiyong  
    OP
       Dec 20, 2020
    @MakeItGreat 哇,全自动,很好呀。各有所长啦,我就不懂 powershell,写 C#程序也基本全靠 Google 。
    liuzhiyong
        41
    liuzhiyong  
    OP
       Dec 20, 2020
    @liufuseng 收到,我想想……
    liuzhiyong
        42
    liuzhiyong  
    OP
       Dec 20, 2020
    @jinliming2 知道 7 Zip 牛啦,唉,我在的行业比较保守,不喜欢新技术,RAR 久经考验。
    MakeItGreat
        43
    MakeItGreat  
       Dec 20, 2020 via Android
    @liufuseng 我已经有一个基于 git 和 powershell 监控文件夹变化自动提交的了
    有的东西真的只需要版本 1,版本 2
    哈哈
    asanelder
        44
    asanelder  
       Dec 20, 2020   ❤️ 1
    俺选择支持楼主。

    另外,大家不要觉得这东西不满足“你的需求”,就是无用的。

    也不要想当然的认为“git”能满足所有人的需求(你教父母学习 git?)。

    楼主有热情来做这件事,本来就是一件很好的事情嘛。

    楼主就是做了这么一个东西,大家看看有没有用,对你没用,你就不用呗,对你有用,就感谢一下呗。

    又不收费,又不推广微信号。

    楼上的不要有优越感一样的,觉得楼主做的工具 low,土,无用。

    这种思想难道是内卷习惯了,互相鄙视习惯了么?

    俺鼓励楼主这种

    “发现自己有需求,并自己开发给出方案,然后分享给大家的精神”

    这不就是分享的含义嘛?
    cszchen
        45
    cszchen  
       Dec 20, 2020
    git 比较适合开发人员
    其他人其实更适合简单粗暴的,最好就是云文档,改一次有个记录那样的
    liuzhiyong
        46
    liuzhiyong  
    OP
       Dec 20, 2020
    @asanelder 多谢支持 :-)
    liuzhiyong
        47
    liuzhiyong  
    OP
       Dec 20, 2020
    @cszchen “改一次有个记录”在本地很容易实现的,就是监控文件的修改时间。它有一个巨大的麻烦:用户需要恢复到某一版本,查看记录,全是日期时间,没说明文字,蒙了。diff 代码容易,要 diff 二进制文件( Word 文档 / Excel 表格 / 电路图 / PS 文件 / 等等)难呀。
    acmore
        48
    acmore  
       Dec 21, 2020   ❤️ 1
    工具本身没有问题,对非专业人员来说 KISS 也没有问题。
    不过 “我见过非常厉害的程序员,比我厉害多了,远超行业平均水平,也用压缩包做版本管理。” 这句话没有内禀逻辑,并不能体现 Git 的不必要性和压缩包管理的必要性,反而还有一丝黑的意味在里边。
    liuzhiyong
        49
    liuzhiyong  
    OP
       Dec 21, 2020
    @acmore

    “工具本身没有问题”

    多谢理解 :-)

    “并不能体现 Git 的不必要性和压缩包管理的必要性,反而还有一丝黑的意味在里边”

    没有黑,只能说隔行如隔山,有的行业很保守的。
    lneoi
        50
    lneoi  
       Dec 22, 2020
    主要还是操作太麻烦了,应该可以设置一个项目,然后监控目录,自动或者手动做压缩备份、自动改名、增加相关注释信息,备份信息不干扰正常目录,一次设置就能自动完成。
    liuzhiyong
        51
    liuzhiyong  
    OP
       Dec 22, 2020
    @lneoi “增加相关注释信息”,这个没法自动呀,很多文件格式不是开源的。
    y_ding
        52
    y_ding  
       Dec 23, 2020 via iPhone   ❤️ 1
    开心就好。另外,从未觉得 Git“太重”,local 的版本管理能让你随心所欲,一切可皆 Git
    H97794
        53
    H97794  
       Feb 10, 2023
    synology drive 32 个版本控制
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1269 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 105ms · UTC 17:23 · PVG 01:23 · LAX 10:23 · JFK 13:23
    ♥ Do have faith in what you're doing.