chenty
V2EX  ›  问与答

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

  •  
  •   chenty · Oct 16, 2020 via Android · 5541 views
    This topic created in 2209 days ago, the information mentioned may be changed or developed.
    现在硬盘都好大 windows10 的垃圾也好多 有没有可能这么干 这样出问题直接 check 回去 岂不美哉?
    36 replies  •  2020-10-19 12:09:45 +08:00
    jdhao
    jdhao
    Oct 16, 2020 via Android
    1
    git 仓库大小有限制,如果只是为了做备份,windows 有备份功能吧
    chenty
    chenty
    OP
    Oct 16, 2020 via Android
    2
    git 可以方便的 ignore 各种零食文件啊 还有文件版本
    @jdhao
    clf
    clf
    Oct 16, 2020
    3
    不建议这样使用 git,毕竟你除去零时文件后还是很大的……直接用自带的备份更好。
    Aixtuz
    Aixtuz
    Oct 16, 2020
    4
    有过跟你一样的期望,想要在出问题是最快速度恢复。
    最后用了 VHDX 差分系统。
    glfpes
    glfpes
    Oct 16, 2020
    5
    用 git 维护大把大把的二进制文件是我想不到的
    SingeeKing
    SingeeKing
    Oct 16, 2020❤️3
    6
    git 是存储全量内容的而不是版本差异,因此如果对大文件进行修改是个灾难
    imkuang
    imkuang
    Oct 16, 2020 via Android
    7
    git 不适合管理大量二进制文件,,,
    你这样的需求为啥不用专业的系统备份软件?
    1KN6sAqR0a57no6s
    1KN6sAqR0a57no6s
    Oct 16, 2020❤️7
    8
    居然两个人都没打对“临时文件” (狗头)
    u6pM63mMZ34z32cE
    u6pM63mMZ34z32cE
    Oct 16, 2020
    9
    是个狼灭
    vverr
    vverr
    Oct 16, 2020❤️1
    10
    直接看你的标题+你的头像=答案

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

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

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

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

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

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

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

    让 Git 维护二进制的话……你先想想怎么 忽略掉 系统盘的缓存和临时文件吧。
    reus
    reus
    Oct 19, 2020
    36
    windows 没有 btrfs,没有 zfs
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4966 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 03:46 · PVG 11:46 · LAX 19:46 · JFK 22:46
    ♥ Do have faith in what you're doing.