V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaoxuxu
V2EX  ›  程序员

小米手机助手备份结果居然就是一个git的本地repo

  •  
  •   xiaoxuxu · Dec 13, 2013 · 9510 views
    This topic created in 4531 days ago, the information mentioned may be changed or developed.
    好奇手机上是不是也是一个repo,备份还原的时候就是用git来回push?有没有人研究过的?
    22 replies    1970-01-01 08:00:00 +08:00
    Livid
        1
    Livid  
    MOD
    PRO
       Dec 13, 2013
    挺聪明的做法。git 处理文件变化的增量是非常好的手段。
    9hills
        2
    9hills  
       Dec 13, 2013
    这个是好想法啊,用git做同步解决方案
    lijinma
        3
    lijinma  
       Dec 13, 2013
    好赞啊
    jemygraw
        4
    jemygraw  
       Dec 13, 2013
    金山快盘好像也是把。
    dorentus
        5
    dorentus  
       Dec 13, 2013
    在专业的工具的基础之上构建自己的工具,挺好。
    Xrong
        6
    Xrong  
       Dec 13, 2013
    我去,好想法。。。
    est
        7
    est  
       Dec 13, 2013
    @Livid 只有文本文件才能增量呢。sqlite3数据库等二进制格式怎么增量?
    sethverlo
        8
    sethverlo  
       Dec 13, 2013
    @est 二进制没办法增量
    zhonghua
        9
    zhonghua  
       Dec 13, 2013
    @sethverlo 所以二进制数据和文本数据得分开两个repo放,一个用svn,一个git
    是这个意思么?
    sethverlo
        10
    sethverlo  
       Dec 13, 2013
    @zhonghua 我没用过 svn……如果 svn 可以给二进制计算增量的话那么肯定没问题,至于说分两个 repo 也不是难事儿。
    zhonghua
        11
    zhonghua  
       Dec 13, 2013
    @sethverlo 如果svn可以计算二进制增量,那GIT肯定也没问题。
    我的意思是,GIT是一个提交一个提交更新的,这个方式对于二进制数据,没有意义。
    所以,我的意思是,二进制数据就不用GIT了,用SVN,直接更新到最新就好了。
    young
        12
    young  
       Dec 13, 2013
    万一碰到 git 报 xxxx object empty 怎么办?
    难道 rm 掉之后再 git pull
    Kabie
        13
    Kabie  
       Dec 13, 2013   ❤️ 1
    嗯比自己做一个蹩脚的替代品聪明多了……
    dorentus
        14
    dorentus  
       Dec 13, 2013
    @zhonghua svn 需要中心服务器,实现起来更麻烦。

    不过我大致明白你的意思了,你是说在手机上,只保留指定的版本,不保留其它提交的记录。那么 git 是完全可以做到的,参见: http://stackoverflow.com/q/1209999/90172

    我没用过小米手机助手,不过据猜测的,它备份的结果应该是保存在电脑上的,那么保存成 git repo 的话,就可以自然地保留每次备份的记录、并支持手机恢复到任意备份;保存成 svn repo 也可以,不过,PC 端得实现一个 svn server,而 git 不需要。
    dorentus
        15
    dorentus  
       Dec 13, 2013
    @dorentus 上面说的好像有些乱。

    简而言之,就是 svn 可以实现的 git 也可以,两者相比,顶多是同等的,svn 并没有优势。

    至于分两个 repo 的方案,算是 premature optimization 了吧,而且复杂度也大大提升了。
    allenforrest
        16
    allenforrest  
       Dec 13, 2013
    其实用rsync也是一个聪明的做法,相比git更简单,一样能很好的解决增量备份和差异传输的目的。
    dorentus
        17
    dorentus  
       Dec 13, 2013
    @allenforrest
    但是 rsync 原生没法支持恢复到之前版本,于是如果这个功能是必需的话,就不太好用 rsync 了。
    allenforrest
        18
    allenforrest  
       Dec 13, 2013
    @dorentus 同意,同步历史和回溯,rsync不是天然具备的,git的优势在这里。
    zorceta
        19
    zorceta  
       Dec 13, 2013 via Android
    搭车求安卓git库
    auxten
        20
    auxten  
       Dec 14, 2013
    有启发!
    porcorosso
        21
    porcorosso  
       Dec 15, 2013
    不错
    moonese
        22
    moonese  
       Dec 29, 2013
    这个git repo用普通的git命令没法看log,有谁知道怎么查看备份的内容吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3001 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 07:18 · PVG 15:18 · LAX 00:18 · JFK 03:18
    ♥ Do have faith in what you're doing.