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

各种项目的代码比较多,经常还要切换电脑写代码,各位大佬有什么好的方案吗

  •  
  •   pretty66 · 322 天前 · 7406 次点击
    这是一个创建于 322 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    手里有很多项目的代码(大概几十 G ),其中有些项目隔三差五可能就要做点稍微的小改动;比较难受的情况是在家会用台式机编程,出差用笔记本操作 这样多台代设备码不同步(目前是用 git 每次拉取),感觉很不方便!

    需求

    有没有一种方法可以实现把云端的硬盘挂载到本地电脑,本地电脑写代码时无感自动同步到云端。这样不管是用哪台设备编程直接挂载下硬盘就行了 目前看到有些技术可以实现云盘挂载到本地:CloudDrive 、Alist 等等,暂时还没尝试,不太明白这些适不适合我的需求。

    特来问问有没有大佬和我有一样的需求,你是咋解决的,使用感受咋样

    ps: 不想使用移动硬盘,怕丢怕坏

    85 条回复    2023-05-16 19:46:05 +08:00
    Mandyer
        1
    Mandyer  
       322 天前   ❤️ 1
    不就是云编程吗,服务器搭一套环境,多设备同时开发。但貌似没推广开。
    litchinn
        2
    litchinn  
       322 天前   ❤️ 16
    你用 git 为啥会代码不同步呢
    yinmin
        3
    yinmin  
       322 天前
    onedrive 多设备文件同步 + git 用来做备份
    lujiaosama
        4
    lujiaosama  
       322 天前
    自己搭个服务器, SSH 到服务器编程.
    pretty66
        5
    pretty66  
    OP
       322 天前
    @Mandyer 这样没办法使用本地 ide 很不方便,尝试过买台服务器搭建 code server 不太好用
    ConfusedBiscuit
        6
    ConfusedBiscuit  
       322 天前
    1. 省事方案,笔记本直接连家里台式机远程桌面,不但不用同步代码,还能享受台式机性能
    2. 专门搞个开发机,vscode remote 或 JetBrains Gateway 远程连接

    个人不太看好 ondrive 等云同步方案,因为云同步在后台运行的时候你可能不会关注同步进度,如果还没同步完就关机了……还有,这种双向同步的方案容易冲突,git 冲突了还能提醒你 merge ,云同步的话……
    ConfusedBiscuit
        7
    ConfusedBiscuit  
       322 天前
    再补充一个方案
    3. 专门搞个开发机,vnc 或 rdp 远程桌面上去也行
    pretty66
        8
    pretty66  
    OP
       322 天前
    @ConfusedBiscuit 感谢建议,同样比较担心 ondrive 这种使用体验,远程桌面这个也试过对带宽要求有点高 网络不好的话卡顿,第 2 点:搭建过服务器上面装 code server (浏览器操作编程的感觉不太方便),vscode remote 或 JetBrains Gateway 这俩没试过 不知道体验咋样,你有没有体验过使用方便吗
    pretty66
        9
    pretty66  
    OP
       322 天前
    @yinmin onedrive 使用这个同步的速度快吗,会经常出现文件冲突啥的不
    siweipancc
        10
    siweipancc  
       322 天前 via iPhone
    git 可以满足的,要不远程 IDE 吧,vs 跟 idea 都有现成的方案
    dreamramon
        11
    dreamramon  
       322 天前
    github codespace 就是姐姐这个问题的。。。
    dearmymy
        12
    dearmymy  
       322 天前
    用 parsec 笔记本远程连家里台式,如果怕网络不好,买个国内云做中转租内网,tailscale 或者 zeortier 都行。我就这样子 ,除非你网特别烂,基本去全国旅馆网络都是够的。
    wshhfy
        13
    wshhfy  
       322 天前 via Android
    公司网络不好吗?我一直 frp 连公司,体验很好
    uni
        14
    uni  
       322 天前
    vscode remote 好用的
    DingJZ
        15
    DingJZ  
       322 天前
    用 git 不方便的点是什么,我自己目前也类似,公司所有项目没事就看看改改,家里公司电脑来回切换,没什么感觉
    brader
        16
    brader  
       322 天前
    我宿舍有台式,简易搭了环境,但是不全,回老家有笔记本,也是同样的状况。下班后公司找我的概率不高。
    我在公司电脑装了 frp 内网穿透,在家喊我搞什么的话,我就直接远程桌面连公司电脑干活,体验还不错,够流畅,又能用上公司电脑
    xqmeng
        17
    xqmeng  
       322 天前
    我是专门一台开发机器,配置好内网穿透和 code-server ,随时随地浏览器开搞。
    dayeye2006199
        18
    dayeye2006199  
       322 天前 via Android
    vs code remote 稳如老狗。已经这么工作三年了
    pretty66
        19
    pretty66  
    OP
       322 天前
    @dearmymy 有时候连接手机热点开发,远程桌面总感觉不舒服😔
    pretty66
        20
    pretty66  
    OP
       322 天前
    @uni
    @dayeye2006199
    多谢建议,我试试看
    ConfusedBiscuit
        21
    ConfusedBiscuit  
       322 天前
    @pretty66 我记得 code server 的问题是许多插件用不了,vscode remote 我长期用过,我用到的插件都兼容,所以还是挺好用的。JetBrains Gateway 我没用过,有同事一直在用,据说没有 vscode remote 稳定,但是 JetBrains IDE 的功能上的优势还是很有吸引力的
    chesha1
        22
    chesha1  
       322 天前
    onedrive 的同步体验挺好的,只要你不是每次改好几个 G 还是能无感同步的
    就是不知道 onedrive 家庭版的体验如何,可能国内速度堪忧,商业版同步速度是很快的
    pretty66
        23
    pretty66  
    OP
       322 天前
    @ConfusedBiscuit
    @chesha1
    好的,多谢
    DeltaC
        24
    DeltaC  
       322 天前
    code server 插件用的是 open-vsx ,而不是 ms-vscode 的插件库,前者是后者的开源版本,且有些插件没有(比如微软的 C/C++)。而且在浏览器里,有些快捷键用不了,我感觉没那么好用。

    还是 vscode remote 吧。
    yjxjn
        25
    yjxjn  
       322 天前
    @DingJZ 我也很好奇,两台电脑,只是刚开始配置麻烦点,没啥其他问题,git 不就解决这类问题么。。。。
    除非就是在单位写完了没及时 commit 和 push 呗。。。。再就是买 WVD ,云电脑这类了。
    dearmymy
        26
    dearmymy  
       322 天前
    @pretty66 parsec 很丝滑的。我 macbook 连家里打 老头环都没问题
    opengps
        27
    opengps  
       322 天前
    远程桌面到固定的一台电脑上去操作
    taotaodaddy
        28
    taotaodaddy  
       322 天前   ❤️ 1
    所有项目的开发环境部署到 Linux 服务器上,然后多设备 vscode remote.
    CodeAllen
        29
    CodeAllen  
       322 天前
    我是在公司放台式机,随身带 mac ,在家在外需要支持公司项目的话连公司 VPN ,然后直接 RDP 远程就行了,安卓平板也可以临时顶一下,很方便
    knva
        30
    knva  
       322 天前
    还是 RDP 把。
    yinmin
        31
    yinmin  
       322 天前
    @pretty66 onedrive 同步用了大半年了,稳定性好,不用梯子速度还可以的,如果有高速梯子同步超快。但毕竟 onedrive 同步延时会有冲突,我不会在 2 个设备上同时用一个项目的,至少间隔 15 分钟以上。
    yinmin
        32
    yinmin  
       322 天前
    还有 1 个方案是 RDP 套 KCP 协议,在咖啡厅、酒店这种烂 WIFI 环境下,有 KCP 加持 RDP 也是很流畅的。
    lerry
        33
    lerry  
       322 天前
    还是用 git 吧,同步盘搞一次冲突就头大了
    binge921
        34
    binge921  
       322 天前
    我苹果全生态 公司出差用 mac 家里黑苹果台式机 总花费也就 1 万出头 依靠 icloud 方案同步 文件 ,代码有自己的 git 仓库 所以 同步编程目前来看非常舒适
    pretty66
        35
    pretty66  
    OP
       322 天前
    @yinmin 套 kcp 这个有现成的软件吗,需要自己开发不
    pretty66
        36
    pretty66  
    OP
       322 天前
    @binge921 我一台 mac 两台 win 一台 linux ,这个方案估计整不了😭
    zzzmh
        37
    zzzmh  
       322 天前
    我能想到的
    第一选择是继续用 git ,git 一定比其他那些省心多了
    第二选择是出门不写代码,都已经这么累了,代码回家再写,不接受反驳(doge)
    yinmin
        38
    yinmin  
       322 天前
    @pretty66 kcp 有 2 个现成方案:gost 和 frp ,均支持 win/mac/linux 。配置时,要设超长密码防爆破。
    limaofeng
        39
    limaofeng  
       322 天前
    vscode remote + frp 内网穿透 任何位置,不同设备都可以修改同一份代码。我现在就是这么干的。不用担心移动设备资源限制,不用害怕 git 忘了提交代码。但主力服务器得一直处于开机状态
    tony1890
        40
    tony1890  
       322 天前
    code-server 容易断连。不过我用的香港服务器,断连很正常。
    vscode-remote 只尝试过。
    webdav 和 远程桌面……没试过。这两个比较耗带宽。要用估计也得开按流量付费,带宽拉满。

    我觉得比较可行的就是 code-server 和 vscode-remote ,前提是国内服务器。
    limaofeng
        41
    limaofeng  
       321 天前
    家里台式机 + frp + 腾讯云内网穿透,公司 vscode-remote ssh 连接稳得一批, 都感觉不到延迟。 加上 vscode remote 也支持插件,还有内网端口映射,启动一些服务后,可以方便的映射到当前设备的端口上。和本地区别真不大了
    anson0370
        42
    anson0370  
       321 天前
    我也很好奇 OP 觉得用 git 每次拉取很不方便的具体原因是什么?如果愿意展开说说也许大家有别的建议可以给你。
    tiredtom
        43
    tiredtom  
       321 天前
    分给别人做嘛
    mandex
        44
    mandex  
       321 天前
    建议升级一下笔记本,在家和出门都用笔记本。
    limaofeng
        45
    limaofeng  
       321 天前
    @anson0370 一个人在多设备间使用 Git 可能会遇到这几个问题:

    仓库太大,每次拉取都需要花费很长时间;
    在不同的设备上使用 Git 时,需要安装必要的运行环境;
    有时候由于赶时间,会忘记提交代码;
    如果有很多设备并且未提交代码,那么下次可能会忘记哪些代码在哪个设备上
    pretty66
        46
    pretty66  
    OP
       321 天前
    @litchinn
    @DingJZ
    @anson0370
    @yjxjn

    设备比较多,开发加测试的常用机器大概有 4 台,测试的机器经常也要拉项目,git 拉来拉去挺麻烦 例如这边写了个小功能要到 win 上跑测试,就得临时提交 然后到 win 上拉去,费时间;就想着能有一块公共的盘在各个设备上挂载下就有最新的代码 这样就方便了,git 只做版本控制和备份
    pretty66
        47
    pretty66  
    OP
       321 天前
    @limaofeng 你是明白的 就是费时间
    jswh
        48
    jswh  
       321 天前
    我是 tailscale 把机器组网,然后用 vscode remote 开发。需要 GUI 的部分就 remote desktop 或者 parsec 上去看。如果 UDP 打洞成功一般很流畅,打洞不成的的就从自己建的 tailscale derper 走流量转发也还行。
    leonshaw
        49
    leonshaw  
       321 天前
    要不试试 nfs, ceph 之类的
    hzzhzzdogee
        50
    hzzhzzdogee  
       321 天前
    github codespace

    gitpod
    专门的产品做这个事
    lxh89910329
        51
    lxh89910329  
       321 天前
    b 站有个 up 做了个自动切换人和电脑位置的椅子,哈哈
    silentsky
        52
    silentsky  
       321 天前 via Android
    git 其实已经够用了 我写 java 的 上百个工程都放在 eclipse 都没压力 一键 pull 很难吗 也就几秒钟时间
    pretty66
        53
    pretty66  
    OP
       321 天前
    wangsyi13
        54
    wangsyi13  
       321 天前
    以前我场景跟你一样,又不想什么都放 git ,用的 resilio sync ,无感同步,没有遇到什么问题,同类型的 syncthing 啥的应该都能满足,像极空间的文件同步就是用的这方案
    xiaoz
        55
    xiaoz  
       321 天前 via Android
    我是集中一台机器搭建开发环境,然后 vscode 远程开发,换电脑也不担心了,环境都不用重复搭建。有个 vscode 就行。
    Norths
        56
    Norths  
       321 天前 via Android
    目前使用群晖的 Drive Client ,用了快半年暂时没出现问题。小的未完成的改动就用 Drive Client 同步,本地的更改会同步到 NAS ,到了另一台电脑又会同步下来,大的已经完成的功能就提交到 Git 。
    wuyiccc
        57
    wuyiccc  
       321 天前
    jetbrains gataway 不太行 bug 过多
    hauzerlee
        58
    hauzerlee  
       321 天前
    vscode remote 吧,经常用来浏览代码时这样的方式。我自己是用了 20 多年 vim ,也有很多插件应对各种语言。之前是在各种云平台上申请了虚拟机,一年也不贵,登陆上去可以 vim 编辑代码,可以用 tmux 或 screen 让工作区持续,再次登录时连上就可以继续。或者 vscode remote ,编译的话可以放到半夜执行,第二天上午差不多也就好了。
    hauzerlee
        59
    hauzerlee  
       321 天前
    我想说的主要是云主机的方式吧……刚才扯远了到 IDE 上去了。
    pretty66
        60
    pretty66  
    OP
       321 天前
    @hauzerlee vscode 用不惯,习惯使用 jetbrain ;如果真没啥好方法 要考虑换编辑器😂
    pretty66
        61
    pretty66  
    OP
       321 天前
    @xiaoz 目前用 vscode 还不习惯,还是喜欢用 jetbrains 系列,目前建议好多都是 vscode 相关的,尝试下能不能适应 vscode 吧😄
    pretty66
        62
    pretty66  
    OP
       321 天前
    @wangsyi13
    @Norths
    感谢建议,我尝试一下
    r00t7
        63
    r00t7  
       321 天前
    code-server 可以试试 很方便
    w3cll
        64
    w3cll  
       321 天前
    @pretty66 jetbrains 家的也有同类产品,Fleet 了解下?
    xiaoz
        65
    xiaoz  
       321 天前 via Android
    @pretty66 我和你相反,之前我用开源项目申请到了 jb 全家桶,非常不习惯,用了几次换回 vscode 了,远程开发真的香。
    sunrisewestern
        66
    sunrisewestern  
       321 天前
    vscode remote
    jim9606
        67
    jim9606  
       321 天前
    onedrive 同步不会比 git pull --autostash 更好,至少后者有更好的一致性检查和冲突解决方法,前者很多操作都黑箱化了不好控制。
    如果你是因为工作区是多仓库组合,你可以考虑用 repo 来管理,或者针对 checkout/pull 等操作写一下脚本。

    远程桌面也是一种方法,就是看你接不接受那个流畅度了。
    bytesfold
        68
    bytesfold  
       321 天前 via iPhone
    没人说 wireguard ?昨天已经把公司内网和家里内网打通了,直接访问家里内网网段所有设备。

    在家 vscode remote 公司 pc ,查看公司项目
    geekzhu
        69
    geekzhu  
       321 天前
    dropbox 也是一个选择
    bjzhush
        70
    bjzhush  
       321 天前
    建议用 dropbox 来同步
    dropbox 对海量小文件的同步是做了非常专业的优化的,包括大文件的增量变化,比如我 10G 的微信备份文件再次备份增加 200M 之后可以几秒内同步完成
    我用 dropbox 管理超过 10W+文件,同步从来没出过问题
    VS 的远程开发还可以,但是跨局域网速度和稳定性依然不好说
    chrosing
        71
    chrosing  
       321 天前
    好奇的问下, 如果家里网络环境不好(深圳出租房一栋楼共用一条宽带) 这种的情况下 SSH 或者 RDP 以及 code remote 回去。真的能够体验到“本地”编程的流畅感么?
    ufo5260987423
        72
    ufo5260987423  
       321 天前
    如果 git 都会有问题,那所有的“同步”的方案都比不上它。因为 git 有问题本质上是你的提交习惯跟不上你的需求。你更代码不够及时,这样。

    远程的话,到不同设备上还得配置一套远程方案,除非是专属于你的设备,否则也不方便。

    这样比起来,弄一台性能可以(不是打游戏!)的笔记本是合适的。CPU 主频高,内存够大,硬盘可靠,键盘舒适——搞定
    CFM880
        73
    CFM880  
       321 天前 via Android
    repo 解君愁
    libook
        74
    libook  
       321 天前
    写个定时任务,自动搜索 git 项目,自动 push 和 pull 。我还真就曾经使用 git 来粗暴模拟网盘同步功能,就是自动 push 和 pull 。

    对我来说,git pull 就一条命令的事情,不管是 IDEA 还是 VSCode 都可以一个快捷键完成,没感觉不方便。
    mysalt
        75
    mysalt  
       321 天前
    家里搞个 Linux 开发机器,用 frp 内网穿透(可能需要买台云服务器),开发环境用 vscode remote ,基本满足所有的开发需求。要是再在家里搞个软路由,约等于这台开发机放在全球各地了,连各种网络代理问题都给你解决了。
    FrankAdler
        76
    FrankAdler  
       321 天前 via iPhone
    这么多年了,jetbrains 的远程开发还是不行,vscode remote 其实挺好用的
    sarices
        77
    sarices  
       321 天前
    直接用笔记本就好了啊,台式机淘汰
    keppelfei
        78
    keppelfei  
       321 天前
    几十 G 的代码得是多大的项目呀?是有依赖么?
    如果用远程 ide 体验不是很棒,我想到如果排除依赖,最好的办法还是私服 git 和 repo 。
    Helsing
        79
    Helsing  
       321 天前 via iPhone
    搞一台 server 或者 git 最靠谱

    其他云同步一不小心冲突了就 gg 了
    Ocean810975
        80
    Ocean810975  
       321 天前
    试试这个? vscode 官方的的 codeserve ,https://code.visualstudio.com/docs/remote/vscode-server ,话说不用本地 ide 用浏览器差很多吗?
    lisxour
        81
    lisxour  
       320 天前
    你用网盘的方案,我只能说以后你只会面对无穷无尽的冲突
    shiy05
        82
    shiy05  
       320 天前 via Android
    我用 snycthing
    pretty66
        83
    pretty66  
    OP
       320 天前
    @lisxour 听了这么多大佬的建议,目前选择的方案是 vscode-remote 模式先试试
    n18255447846
        84
    n18255447846  
       319 天前
    内网穿透到台式机上,然后 vscode remote 开搞
    hauzerlee
        85
    hauzerlee  
       317 天前
    @pretty66 #60 我最习惯的其实是 vim ,配合 linux 命令行界面的一些工具( screen 、tmux 这些虚拟终端软件)和插件,大部分时候只要有台能上网的电脑,就能很容易地恢复工作界面。jetbrain 用得少,我工作比较久了,这些 IDE 是后来出来的,一直就没去习惯它们了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5474 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 07:41 · PVG 15:41 · LAX 00:41 · JFK 03:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.