V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
chenty
V2EX  ›  问与答

把整个硬盘目录 commit 成 git 然后系统出问题就 check 回去 可行么?

  •  
  •   chenty · 2020-10-16 09:22:40 +08:00 via Android · 4059 次点击
    这是一个创建于 1483 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在硬盘都好大 windows10 的垃圾也好多 有没有可能这么干 这样出问题直接 check 回去 岂不美哉?
    36 条回复    2020-10-19 12:09:45 +08:00
    jdhao
        1
    jdhao  
       2020-10-16 09:26:46 +08:00 via Android
    git 仓库大小有限制,如果只是为了做备份,windows 有备份功能吧
    chenty
        2
    chenty  
    OP
       2020-10-16 09:28:32 +08:00 via Android
    git 可以方便的 ignore 各种零食文件啊 还有文件版本
    @jdhao
    clf
        3
    clf  
       2020-10-16 09:39:18 +08:00
    不建议这样使用 git,毕竟你除去零时文件后还是很大的……直接用自带的备份更好。
    Aixtuz
        4
    Aixtuz  
       2020-10-16 09:48:31 +08:00
    有过跟你一样的期望,想要在出问题是最快速度恢复。
    最后用了 VHDX 差分系统。
    glfpes
        5
    glfpes  
       2020-10-16 09:49:40 +08:00
    用 git 维护大把大把的二进制文件是我想不到的
    SingeeKing
        6
    SingeeKing  
       2020-10-16 09:51:36 +08:00   ❤️ 3
    git 是存储全量内容的而不是版本差异,因此如果对大文件进行修改是个灾难
    xiri
        7
    xiri  
       2020-10-16 09:53:57 +08:00 via Android
    git 不适合管理大量二进制文件,,,
    你这样的需求为啥不用专业的系统备份软件?
    1KN6sAqR0a57no6s
        8
    1KN6sAqR0a57no6s  
       2020-10-16 09:54:21 +08:00   ❤️ 7
    居然两个人都没打对“临时文件” (狗头)
    u6pM63mMZ34z32cE
        9
    u6pM63mMZ34z32cE  
       2020-10-16 09:54:26 +08:00
    是个狼灭
    dtgxx
        10
    dtgxx  
       2020-10-16 09:56:24 +08:00   ❤️ 1
    直接看你的标题+你的头像=答案

    好多文件也不支持直接修改的,check 都得失败
    iRiven
        11
    iRiven  
       2020-10-16 10:12:14 +08:00
    你这个需求叫快照
    des
        12
    des  
       2020-10-16 10:18:27 +08:00
    防止系统被破坏?类似这个吗?
    https://support.apple.com/HT204899
    nutting
        13
    nutting  
       2020-10-16 10:27:36 +08:00
    git 接管后是有本地缓存的吧,相当于容量 x2 了,全盘怎么搞。再说,出问题了你还怎么进系统
    nieyujiang
        14
    nieyujiang  
       2020-10-16 10:43:12 +08:00
    git 对二进制类型的文件支持不行,这也是为啥不用 lfs,分分钟.git 膨胀上天的原因
    zxCoder
        15
    zxCoder  
       2020-10-16 11:19:56 +08:00   ❤️ 1
    @YuxiangLuo 原来。。。。我还看了老半天以为是什么专业名词,还猜想说是不是指“平时经常用到的,跟零食一样的文件”。。。。。。
    icyalala
        16
    icyalala  
       2020-10-16 11:29:51 +08:00   ❤️ 1
    git 不追踪空目录哈哈哈。。
    yanqiyu
        17
    yanqiyu  
       2020-10-16 11:40:23 +08:00   ❤️ 1
    整个硬盘不行,但是对于操作系统文件可以(Linux 社区有这样的尝试),当然实现也不是 git ( git 不是干这个活的,这么多二进制用 git 怕不是爆炸),可以看看 https://silverblue.fedoraproject.org/ ,每个 install 有 commit hash, /usr 只读,但是启动的时候可以选择之前的 commit, 更新也类似于 git pull, 直接拉取上游的下一个 commit

    要是想要覆盖系统文件之外的东西,你还不如手动管理快照,要是愿意上 zfs, btrfs,用快照机制,应该也能做到你需要的效果,出问题就回滚快照。
    sparkle
        18
    sparkle  
       2020-10-16 12:03:43 +08:00
    理论上可行,实际上性能是主要的问题
    deorth
        19
    deorth  
       2020-10-16 12:18:32 +08:00
    你需要的是带快照的文件系统
    webshe11
        20
    webshe11  
       2020-10-16 12:20:20 +08:00
    什么“零食文件”,明明是“临时文酱”
    imn1
        21
    imn1  
       2020-10-16 12:39:38 +08:00
    洋大人脑子果然没有咱们好使,根本没想到可以这样用,搞得好多服务开始不久就要紧急叫停
    cheng6563
        22
    cheng6563  
       2020-10-16 12:48:47 +08:00 via Android
    Windows 有第三方 btrfs 驱动,只要你敢用
    phobal
        23
    phobal  
       2020-10-16 12:55:06 +08:00 via iPhone   ❤️ 1
    推荐把自己习惯的开发环境和软件都安装好,然后将它作为系统镜像,以后系统出问题了直接通过自己做的镜像恢复就好了。
    tairan2006
        24
    tairan2006  
       2020-10-16 13:51:28 +08:00
    大哥,你听过还原精灵么

    或者你听过 ghost 么
    fihserman123
        25
    fihserman123  
       2020-10-16 14:29:55 +08:00
    git 直接采用快照方式的直接备份,你硬盘够用吗?
    ungrown
        26
    ungrown  
       2020-10-16 14:52:43 +08:00
    如果仅仅是为了给操作系统做增量备份的话
    给系统做镜像呗
    windows 自带一个叫做“卷影复制服务”的功能
    所以 Windows 下 NTFS 文件系统可以进行热备份
    工具的话应该不止一种
    很多年前我喜欢并常用的软件是 drive snapshot,支持差分备份
    后来再也不做系统备份了
    (发现用不到了,手里的 Windows 系统能跑好几年不出问题,就算出了问题 win10 支持热重装并能保留原系统程序和用户文件,于是系统备份对我而言变得没什么用了)
    其实 Windows 自带的系统备份不也是挺好用的吗
    wuqingdzx
        27
    wuqingdzx  
       2020-10-16 15:09:56 +08:00
    傲梅轻松备份不好用吗?
    boris93
        28
    boris93  
       2020-10-16 15:11:41 +08:00 via Android
    放着成熟的备份方案不用非得给自己找别扭?
    而且 git 更适合管理纯文本文件,二进制文件不是不可以,但是这么大量就太胡搞了吧
    rockcat
        29
    rockcat  
       2020-10-16 15:59:17 +08:00
    Windows 自带的还原就可以吧。
    gxgxxn
        30
    gxgxxn  
       2020-10-16 17:42:08 +08:00
    @YuxiangLuo 我还奇怪零食文件是啥东西呐😂
    raymanr
        31
    raymanr  
       2020-10-16 18:07:16 +08:00
    不可行吧, 正在使用中的文件 git 是没法修改的, 除非你可以不进入 windows 就使用 git
    jeffreystoke
        32
    jeffreystoke  
       2020-10-16 22:32:49 +08:00
    楼主的想法是完全可行的, 如果没被楼上劝退的话, 不妨看看现成的工具 ( https://github.com/bup/bup)

    说起来大概在三四年前我就在用了, 不过当时还是 PoC, 用也是小规模的, 现在回看发现还在更新有点感动, 相比 snapshot 方式的话可以只回滚单个文件不影响其他文件
    xupefei
        33
    xupefei  
       2020-10-17 01:21:11 +08:00 via iPhone
    git 不备份文件权限。
    msg7086
        34
    msg7086  
       2020-10-17 04:42:48 +08:00
    你的想法是对的,但是实际使用中没办法这么干。

    etckeeper 就是用 Git 之类管理 etc 配置文件的。
    Linux 下因为有包管理,所以系统本身是由包管理保证正常工作的,所以只需要管理配置文件即可。

    Windows 下没有包管理,安装的软件都是自己想办法存二进制和配置,所以一方面二进制无法保证完整性,一方面配置文件也无法单独拿出来保存和恢复。

    而且你也说了,辣鸡多,那你 checkout 回去,辣鸡不是还在?美个啥。
    mscststs
        35
    mscststs  
       2020-10-17 13:43:48 +08:00
    我寻思 windows 自带的备份功能可以打包硬盘镜像吧。多挂一块硬盘定期备份就完事了。

    让 Git 维护二进制的话……你先想想怎么 忽略掉 系统盘的缓存和临时文件吧。
    reus
        36
    reus  
       2020-10-19 12:09:45 +08:00
    windows 没有 btrfs,没有 zfs
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2348 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:10 · PVG 00:10 · LAX 08:10 · JFK 11:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.