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

有什么实时代码备份工具?

  •  
  •   Features · 2022-07-17 21:36:22 +08:00 · 2600 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己做了几个项目,在维护和新增功能,并且持续交付
    项目价值 10W+

    想想还是挺值钱的,想做一下冗余备份、

    自己想到的方式:
    1.码云,codding ,github
    优点:可以设置.gitignore,忽略 npm ,composer ,maven 等库文件
    缺点:不能实时备份,有时候忘记了,云端的进度已经落后本地一个星期了
    缺点 2:容量有限,不能放大文件

    2.百度云同步盘
    优点:实时备份,不限大小
    缺点:对于前端项目来说是一个灾难,有时候同步一天进度都不到 20%
    第 1 条附言  ·  2022-07-17 22:46:30 +08:00
    我主力用的是 win 本
    方案如下:
    写一个 bat 脚本,放在项目根目录,内容为
    git add --all && git commit -m "auto commit" && git push origin master
    把这个 bat 脚本添加到计划任务中,执行时机为关机
    第 2 条附言  ·  2022-07-18 12:03:51 +08:00
    中午开机自动备份代码了,真不错啊~
    第 3 条附言  ·  2022-07-19 11:16:56 +08:00
    计划任务加了一个每小时自动提交的条件,更完美了
    小时级的无感备份对我来说太棒了
    22 条回复    2022-07-19 11:17:37 +08:00
    timothyye
        1
    timothyye  
       2022-07-17 21:52:09 +08:00
    用云盘是不是就失去了版本管理的优势?

    可以考虑搞个 Git Hooks 每次提交过后自动 push 代码
    Features
        2
    Features  
    OP
       2022-07-17 21:54:41 +08:00
    @timothyye 就是有时候忘记提交了
    LxnChan
        3
    LxnChan  
       2022-07-17 22:02:41 +08:00
    @Features 可以做个 crontab 自动定时提交
    timothyye
        4
    timothyye  
       2022-07-17 22:04:32 +08:00   ❤️ 2
    Features
        5
    Features  
    OP
       2022-07-17 22:05:24 +08:00
    @LxnChan 嗯,这个确实可以,在写脚本了
    404neko
        6
    404neko  
       2022-07-17 22:05:54 +08:00
    Linux 可以结合 inotify 自己写个小玩意
    nightwitch
        7
    nightwitch  
       2022-07-17 22:44:08 +08:00
    "有时候忘记了,云端的进度已经落后本地一个星期了"

    随便定个闹钟之类的备忘提醒就行,实在不行就在一个分支上工作,定时 15 分钟提交一次。
    后面开发完了以后 squash-rebase 一下就行
    learnshare
        8
    learnshare  
       2022-07-17 23:07:11 +08:00   ❤️ 4
    忘记提交了,大概是代码不太重要
    kingjpa
        9
    kingjpa  
       2022-07-17 23:27:41 +08:00
    git 或 svn 随手的事。
    不行组 raid
    clf
        10
    clf  
       2022-07-17 23:32:37 +08:00
    Syncthing?可以实现实时的效果,可以自己配版本管理相关的东西,然后可以配置忽视指定文件 /文件夹。

    我自己是公司电脑 24 小时在线,代码和文件备份到我的手机(与公司电脑同局域网时自动备份)和家里的电脑(开机后备份,可以选择手机局域网备份到家里电脑,也可以选择直接备份公司电脑)上。git 提交倒是都是手动提交的。
    610915518
        11
    610915518  
       2022-07-17 23:37:41 +08:00
    楼主需要一个支持 .gitignore 的同步工具,推荐一下 rsync ,配合定时工具,定时备份
    la9998372
        12
    la9998372  
       2022-07-18 00:22:14 +08:00
    OneDrive+Git 双保险
    wzw
        13
    wzw  
       2022-07-18 01:16:54 +08:00 via iPhone
    Drop box
    wonderfulcxm
        14
    wonderfulcxm  
       2022-07-18 01:19:00 +08:00 via iPhone
    vim
    ailer
        15
    ailer  
       2022-07-18 01:25:02 +08:00 via Android
    本地硬盘,双份 onedrive ,多份 git 仓库,使用 https://tools.stefankueng.com/CryptSync.html 实时同步,可以排除指定文件(夹),尤其是 node_models
    Mac
        16
    Mac  
       2022-07-18 05:00:40 +08:00 via Android
    我是用坚果云的,虽然它一直提醒我不建议用坚果云备份代码,但我付费我乐意
    retrocode
        17
    retrocode  
       2022-07-18 08:28:46 +08:00
    能落后一个星期就已经不关实时备份的事了, 每天提交 git, 按版本创分支 tag 一般都能解决问题, 配合压缩包丢网盘屁事没有
    Features
        18
    Features  
    OP
       2022-07-18 12:16:03 +08:00
    @retrocode 忙起来就记不住了
    wdssmq
        19
    wdssmq  
       2022-07-18 12:55:52 +08:00
    VSCode 里没提交的文件颜色都不一样,时刻提醒着你,慢慢就养成了时不时 ctrl + shift + g 的习惯,甚至并没有修改也要看几次。。- -

    所以楼主用的啥编辑器没这个功能?
    Features
        20
    Features  
    OP
       2022-07-18 15:31:31 +08:00
    @wdssmq 用的挺多...
    主要还是 vscode,hbuilder,android studio,phpstorm,idea 吧
    要的是无感实时备份,手动提交幸福感大大降低了
    ecloud
        21
    ecloud  
       2022-07-18 16:28:12 +08:00
    钱能解决一切问题
    把办公机全部换成 Mac ,买个大容量 NAS ,然后就无脑 timemachine ,NAS 上的目录再绑定一个网盘什么的做异地容灾,然后每周做一次冷备份(磁带机+磁带)
    其实如果不需要分支合并每行 diff 之类的功能的话,timemachine 就是最好用的版本控制了
    Features
        22
    Features  
    OP
       2022-07-19 11:17:37 +08:00
    @ecloud 问题是没钱。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2685 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:15 · PVG 12:15 · LAX 20:15 · JFK 23:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.