V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zau11berer
V2EX  ›  NAS

请问在家怎么让两台电脑通过 NAS 快速同步代码

  •  
  •   zau11berer · 2023-02-11 13:55:23 +08:00 · 5630 次点击
    这是一个创建于 437 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在家办公,一直坐在电脑前面写代码就很累,想写一下到床上换 mbp 接着写,就感觉没必要提交。

    手上有有群晖的 DS920+,千兆路由。代码两台电脑都有的时候,双向同步挺快的。 但新项目,比如前端 yarn 一下,同步就一个小时了。

    大佬们有没有好办法让代码这种小文件快速同步。

    第 1 条附言  ·  2023-02-11 22:45:38 +08:00
    之前没发现 Drive 还能展开项目文件夹,选择同步。已经排除了各种项目的包目录,感谢
    liyvhg
        1
    liyvhg  
       2023-02-11 14:05:16 +08:00 via Android
    两种思路:
    将代码保存在 nas 上,本地挂载编辑
    Git 或者 SVN
    Puteulanus
        2
    Puteulanus  
       2023-02-11 14:09:49 +08:00   ❤️ 1
    要不直接 mbp 远程到台式上写
    zau11berer
        3
    zau11berer  
    OP
       2023-02-11 14:10:54 +08:00
    @liyvhg 尝试了直接放在 nas 上,smb 连接,但是不管 npm 、maven 还是 cocoapods 啥的,安装第三方包都会很慢,或者直接不动了的情况。
    如果用 git 那确实就没问题,就想偷个懒不写 commit ,换设备还能继续哈哈哈哈
    xiaofeifei8
        4
    xiaofeifei8  
       2023-02-11 14:14:27 +08:00
    用群晖的 Drive 同步两台电脑的指定文件夹
    bingkxChen
        5
    bingkxChen  
       2023-02-11 14:19:15 +08:00   ❤️ 1
    这种是不是应该搞个远程桌面
    zau11berer
        6
    zau11berer  
    OP
       2023-02-11 14:20:42 +08:00
    @Puteulanus 那早上就一定要起来去开机了- 。-
    想着 nas 是文件中枢,看能不能直接通过 nas 解决
    yghack
        7
    yghack  
       2023-02-11 14:22:52 +08:00
    专门开了一个 ubuntu 的 vm 在家里的 nas 上
    平时都是 vscode 的 ssh 插件过去远程开发,你可以试试
    zau11berer
        8
    zau11berer  
    OP
       2023-02-11 14:25:16 +08:00
    @xiaofeifei8 现在已经用了 Drive ,已经同步过的代码改起来都能实时同步
    但新创建一个项目,依赖第三方包之后,小文件太多,同步的太慢
    zau11berer
        9
    zau11berer  
    OP
       2023-02-11 14:26:59 +08:00
    @yghack 没折腾,还没装过 vm ,我现在试试
    a6228164
        10
    a6228164  
       2023-02-11 14:28:49 +08:00 via Android
    webdav
    zau11berer
        11
    zau11berer  
    OP
       2023-02-11 14:32:05 +08:00
    @yghack 但这样是不是算用 nas 做开发机了? nas 的 CPU 一般,也不是固态,编译速度和 HRM 都可以吗?
    yghack
        12
    yghack  
       2023-02-11 14:34:36 +08:00
    @zau11berer 是的,我的 nas 配置比较高,前后端我都是丢 nas 编译的。
    cxh116
        13
    cxh116  
       2023-02-11 14:35:56 +08:00 via Android
    不同步,文件直接放 nas ,通过 nfs 挂载成本地目录。
    zau11berer
        14
    zau11berer  
    OP
       2023-02-11 14:36:26 +08:00
    @yghack 那群晖这个估计够呛,我试试先,感谢
    flyinghigherair
        15
    flyinghigherair  
       2023-02-11 14:53:05 +08:00
    群晖 Synology Drive 可以过滤同步指定文件和文件夹的
    zau11berer
        16
    zau11berer  
    OP
       2023-02-11 14:53:19 +08:00
    @cxh116 刚试了下,装第三方包也是很慢。还是说我姿势不对~
    DShen
        17
    DShen  
       2023-02-11 14:55:09 +08:00 via iPhone
    使用支持远程开发的 ide ,比如 vsc ,idea 这种,服务端部署在 nas ,电脑上只有客户端
    zau11berer
        18
    zau11berer  
    OP
       2023-02-11 14:57:51 +08:00
    @flyinghigherair 刚发现还能展开,是我傻了
    otakustay
        19
    otakustay  
       2023-02-11 15:01:24 +08:00
    我用 Synology Drive ,但不同步 node_modules ,这东西同步还没自己装一下快
    Me7426
        20
    Me7426  
       2023-02-11 15:04:34 +08:00
    参考那些在公司开发机上开发的,你让 PC 和 mbp 都 IDE 远程到 NAS 上开发,就能随时切换了
    zau11berer
        21
    zau11berer  
    OP
       2023-02-11 15:11:29 +08:00
    @otakustay 之前没注意,15 楼刚说我才发现还可以展开项目目录。这样确实快多了
    documentzhangx66
        22
    documentzhangx66  
       2023-02-11 15:21:27 +08:00   ❤️ 1
    别偷懒,同步代码,一定要用 GIT 或 SVN ,通过提交与拉取,来同步。
    jfv
        23
    jfv  
       2023-02-11 17:07:16 +08:00
    syncthing
    guisheng
        24
    guisheng  
       2023-02-11 17:27:45 +08:00 via iPhone
    感觉写个自动化脚本比较可靠。自动提交和拉取。
    leonard916
        25
    leonard916  
       2023-02-11 18:07:58 +08:00
    远程 IDE +1 ,IntelliJ IDEA 或 VSCode 都支持。
    zayia
        26
    zayia  
       2023-02-11 18:14:51 +08:00 via iPhone
    @zau11berer 小文件同步慢的话,可以考虑 nas 加装 ssd 缓存。
    panlatent
        27
    panlatent  
       2023-02-11 20:01:07 +08:00 via iPhone
    Git 或远程 IDE 为佳
    mytharcher
        28
    mytharcher  
       2023-02-11 20:07:03 +08:00
    Resilio sync 最佳选择,连 NAS 都不需要,两台机器建立同步目录后,局域网内几乎几秒内变动都会同步好。但还是不建议同步 node_modules 目录(可以排除),尤其第一次的时候文件太多,不如直接装一遍。不过不要排除 .git 目录,换到另一台电脑上连 git 状态都有会很方便。
    tcpdump
        29
    tcpdump  
       2023-02-11 20:24:24 +08:00
    前端写个 Hello World 都是几百兆
    star7th
        30
    star7th  
       2023-02-11 20:24:42 +08:00
    你一开始的开发方式就是错的。居然试图同步 node_modules ? 答案就是别同步 node_modules 。只同步其他代码。
    node_modules 本身安装频率低,各自机器上安装一下就好
    limbo0
        31
    limbo0  
       2023-02-11 20:38:08 +08:00
    把库文件 exclude 掉啊
    vipnetant
        32
    vipnetant  
       2023-02-11 20:40:26 +08:00
    Synology Drive
    rekulas
        33
    rekulas  
       2023-02-11 20:53:40 +08:00
    我之前试过基于 cwrsync 文件变动监听来实现同步的,主要是本机和虚拟机同步,可以实现毫秒级同步,内网没试过,但应该也在毫秒级别(估计几十-几百)

    之所以要自己实现是因为以前的虚拟机共享技术很费资源,后面因为虚拟机的共享技术升级了就没用了。。
    gudako
        34
    gudako  
       2023-02-11 20:56:46 +08:00 via Android
    syncthing
    Zhouisme
        35
    Zhouisme  
       2023-02-11 22:51:41 +08:00
    懒得提交就不用: 1. 使用 git,添加​.gitignore​,屏蔽不需要的目录,web 前端,典型的 node_modules 之类的。
    2.一台电脑开机,vscode ssh remote 写代码,不存在代码同步
    3,搭建一个类似云盘共享的服务,比如 smb ,挂载目录写代码。
    4.远程桌面?
    5.直接 ssh 到 NAS,然后使用 nvim 进行编辑代码
    Zhouisme
        36
    Zhouisme  
       2023-02-11 22:54:46 +08:00
    @Zhouisme 考虑同步的想法就很蠢呀...,要同步也要考虑应该同步哪些文件吧?提交过代码吗?最小项目搭建过没?需要什么不需要什么,这是很基础的东西。
    bjzhush
        37
    bjzhush  
       2023-02-11 23:54:51 +08:00
    推荐 freefilesync ,支持三大操作系统,支持命令行模式,同步有一些优化的操作,速度也非常快,可以试试
    zau11berer
        38
    zau11berer  
    OP
       2023-02-12 00:15:42 +08:00
    @rekulas 最近也在想用 wsl2 来做开发环境,但发现外挂就全都要 chmod ,感觉很奇怪。如果能监听同步确实是个办法
    zau11berer
        39
    zau11berer  
    OP
       2023-02-12 00:49:45 +08:00   ❤️ 1
    @Zhouisme 大半夜戾气这么重干嘛。况且我目标就是两台电脑能无缝衔接,你这几个方案
    1. 添加 gitignore 就能不提交了嘛?况且前端你随便用脚手架创建的工程,那个不是排除了 node_modules 的。
    2. 3. 将代码放在 nas 盘中开发,拉取第三方包 update 时依然很慢,没有意义。
    4. 这种方案必须开 Windows ,我想用 Nas 就是让他作为家庭数据中心,自然是找可以以 Nas 为中心的方案。
    5. 直接当开发机,找不自在么。要也是 7 楼的方案了。

    上面也说了,之前没注意还能展开项目里面的文件夹,15 楼说过就排除了。
    Jtyczc
        40
    Jtyczc  
       2023-02-12 02:11:43 +08:00
    @zau11berer 台式不要关
    geekzhu
        41
    geekzhu  
       2023-02-12 02:33:16 +08:00
    新项目这种,其实用添加例外的形式,是很麻烦的,每次新建都得添加一次例外。最好的偷懒方式,就是等它同步完成,尤其是局域网,几百兆也很快就同步了,刷刷 v 站就过去了
    ddvswgg
        42
    ddvswgg  
       2023-02-12 02:39:00 +08:00 via iPhone
    用 dropbox
    aliceclark
        43
    aliceclark  
       2023-02-12 05:15:24 +08:00
    nas 上建个 coder ,用浏览器写代码
    alne
        44
    alne  
       2023-02-12 07:50:28 +08:00
    syncthing
    fox0001
        45
    fox0001  
       2023-02-12 07:57:27 +08:00 via Android
    肯定是自建服务器或者 nas 了。现在我只关心服务器的数据备份,其它设备都是同步文件过去。
    Quarter
        46
    Quarter  
       2023-02-12 08:48:01 +08:00 via Android
    如果 nas 性能不咋样的话可以挂载了之后在挂载盘里拉项目开发,不过我没试过这个,不知道网络存储的读写有没有影响
    如果 nas 性能可以的话可以直接弄个 code-server ,打开浏览器就直接开始开发,方便快捷
    ladypxy
        47
    ladypxy  
       2023-02-12 09:17:23 +08:00 via iPhone
    NAS 里跑个 linux ,然后用 vocode 远程啊
    lovelylain
        48
    lovelylain  
       2023-02-12 09:24:16 +08:00 via Android
    @zau11berer 按 2 楼说的,远程登录到台式机上开发,至于你 6 楼回复的缺点,很容易解决啊,wol 自动开机,不用下床的。
    encro
        49
    encro  
       2023-02-12 09:32:56 +08:00
    如果是 vscode 就直接 ssh 编程
    webcape233
        50
    webcape233  
       2023-02-12 10:38:21 +08:00 via iPhone
    syncthing 同步 简单。 电脑 nas 都装上
    brust
        51
    brust  
       2023-02-12 11:48:22 +08:00
    直接装个 git 就好
    设置个内网 remote
    basncy
        52
    basncy  
       2023-02-12 19:08:11 +08:00
    代码同步了, 环境不好同步吧?
    所以, 远程 or 无盘系统?
    qinrui
        53
    qinrui  
       2023-02-12 23:33:06 +08:00 via iPhone
    远程桌面
    benjen000
        54
    benjen000  
       2023-02-12 23:44:40 +08:00 via Android
    在 nas 里面搭一个 seafile ,然后用客户端实时同步到 seafile 里面。只要保存一下就同步到 seafile 里了,另一台会自动同步下来。
    DevWiki
        55
    DevWiki  
       2023-02-13 10:26:07 +08:00 via Android
    装个 gitea 很快啊, 方便, 比如我的:
    https://git.devwiki.net
    zbowen66
        56
    zbowen66  
       2023-02-13 13:19:20 +08:00
    @DevWiki 啥宽带啊,没有屏蔽 443
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3536 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:12 · PVG 19:12 · LAX 04:12 · JFK 07:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.