多台 Mac 如何做到随时随地编辑同一份代码(主要是用 idea 和 clion) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
movq
V2EX    Apple

多台 Mac 如何做到随时随地编辑同一份代码(主要是用 idea 和 clion)

  •  
  •   movq 2021-10-08 23:28:14 +08:00 4853 次点击
    这是一个创建于 1464 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果把项目文件直接放到 iCloud 云盘里面,会出错吧?因为 iCloud 云盘的绝对路径在不同的 mac 上面不同(如果用户名不同的话)

    如果使用 git 来同步,每次编辑完都要手动 push,然后另一台电脑上手动 pull,这样还是挺麻烦的。主要是不想那么多 commit (比如在电脑 A 上面一个函数写一半,这时候想在电脑 B 上面接着写,总不能这也 commit 然后 push 吧)

    29 条回复    2021-10-09 20:16:16 +08:00
    Helsing
        1
    Helsing  
       2021-10-08 23:34:49 +08:00 via iPhone
    git amend 或者使用 gerrit 这样的工具,需要 review 才会合入
    qanniu
        2
    qanniu  
       2021-10-08 23:35:02 +08:00 via iPhone
    同样的需求,我甚至比你需求更高,希望随时打开状态不变
    刚开始用个 linux 服务器结合 mac vscode 用,但状态会变
    后来用 codeserver,有些 bug 和少插件
    目前用 rdp
    gouflv
        3
    gouflv  
       2021-10-08 23:50:45 +08:00 via iPhone   2
    开工作分支,任意提交,只要合并回主干前 rebase 整理一遍
    mxalbert1996
        4
    mxalbert1996  
       2021-10-09 01:01:54 +08:00 via Android
    如果有一台电脑一直开着的话可以用 IDEA 的 Code With Me
    vincentxue
        5
    vincentxue  
       2021-10-09 01:10:03 +08:00 via iPhone   2
    用 Dropbox,我已经了这样做了很多年了。无缝同步。
    qanniu
        6
    qanniu  
       2021-10-09 01:29:11 +08:00 via iPhone
    @mxalbert1996 这个说直连还是有个中转?
    rpman
        7
    rpman  
       2021-10-09 01:51:46 +08:00
    idea 家我记得是支持 sftp remote 的, 如果有一台 mac 可以稳定不关机的话用它开 ssh 即可
    另外 git 分支用得熟的话,其实也不会出现你说的问题.. 永远用分支做开发, master 只拉 squash 过的 commit 就好了
    dingwen07
        8
    dingwen07  
       2021-10-09 01:57:42 +08:00 via iPhone
    所有网盘都不适合用来同步代码,iCloud 云盘更加不适合,出问题的概率会远远高于你的想象(倒不一定是丢数据,可能是出现奇奇怪怪的同步问题,反正 V2 上我就有看到 iCloud 云盘出现问题)。

    可以尝试一下 JB 的 Code With Me
    siriulx
        9
    siriulx  
       2021-10-09 05:02:04 +08:00   1
    我用的是公司提供的 dev server + vscode remote - SSH 来实现的。
    vscode 可以本地渲染 gui,插件在 remote 运行,debug 也可以远程 debug 。
    JB 家的软件貌似做不到这种前后分离,只能做文件 sync,代码要下载到本地。感觉很容易出现版本冲突。
    vscode 全程远程访问,效率很高。
    wsxyeah
        10
    wsxyeah  
       2021-10-09 07:10:56 +08:00 via iPhone   1
    cassyfar
        11
    cassyfar  
       2021-10-09 07:54:00 +08:00
    commit 可以 squash 。。。git 不就是拿来干这个的吗?
    mytharcher
        12
    mytharcher  
       2021-10-09 08:42:50 +08:00 via Android
    Resilio sync,同步工作目录,我这么用很多年了。

    我的场景是带笔记本去公司工作,回家后在家里的电脑上工作,笔记本插上电盒盖就行,局域网同步速度在秒级,外网开代理中继也可以同步。

    唯一缺点是偶尔 CPU 100%,但可以接受。
    Building
        13
    Building  
       2021-10-09 08:47:06 +08:00 via iPhone
    千万别用 iCloud,丢了好几次文件,而且所有 Mac 都打开的时候,你会发现他们一直一直在同步,已经关了。
    goldenlove
        14
    goldenlove  
       2021-10-09 08:50:30 +08:00
    如果网络环境较好且信任国内网盘的话……
    也可以试试云盘映射本地 WebDAV 。
    Building
        15
    Building  
       2021-10-09 08:53:05 +08:00 via iPhone
    而且 iCloud 无法确定这份文件有没有重复的时候,会直接帮你创建一份副本…很快你就会发现你的项目莫名其妙多出了一堆 controller 2.h, controller 3.m, controller 4.m, icon 2.png…的文件,删的我那叫一个痛苦。
    cctrv
        16
    cctrv  
       2021-10-09 09:18:17 +08:00 via iPhone
    iCloud 不是一可靠的同步工具。

    我曾把 xcode 的目 iCloud 同步,然後在 Xcode 候,我遇到限,一始以是 xcode 的 bug,把目目 iCloud 移除後,xcode 一切正常。

    然後,iCloud 未必很快地把另一台的更同步回。然後,你就存在台同一 iCloud 目然後不同的文件

    之後,然我也有其他同步方案,不我不使用 iCloud 同步代目了。
    halfdb
        17
    halfdb  
       2021-10-09 09:22:27 +08:00 via Android
    保证编辑的是同一份物理文件,用虚拟局域网和 nas
    HENQIGUAI
        18
    HENQIGUAI 
       2021-10-09 09:40:36 +08:00
    代码放在服务器上,Mac 作为终端。
    dadachen1997
        19
    dadachen1997  
       2021-10-09 09:53:59 +08:00
    可能工作模式不同吧,我也在两台不同地点的电脑上开发。不过每次都是在 dev 分支上 pull 和 push 同步。需要 merge 到主分支会 squash 一下,保证每一个 feature 的迭代,版本更新只有一个 commit 。所以在 dev 分支上的 commit 很多但不 care 。
    Diphia
        20
    Diphia  
       2021-10-09 10:16:01 +08:00
    感觉 tmux 是最适合做这个的,可惜 IDEA 和 CLION 似乎都没有 CUI 版本?
    Titanium21
        21
    Titanium21  
       2021-10-09 10:25:23 +08:00
    两台 mac 远程连接到同一服务器上开发?
    wolfie
        22
    wolfie  
       2021-10-09 10:30:48 +08:00
    Idea 自带工具的话

    Tools -> Deployment -> Browse Remote Host
    再开启,Automatic Upload 。

    就是拿一个服务器的一个路径作为同步盘。
    nameyukan
        23
    nameyukan  
       2021-10-09 10:32:45 +08:00   1
    开一个 codeserver,几台都可以,https://github.com/cdr/code-server
    zmxnv123
        24
    zmxnv123  
       2021-10-09 10:43:36 +08:00 via iPhone
    局域网的话试试 intellij projector
    EscYezi
        25
    EscYezi  
       2021-10-09 12:11:46 +08:00 via iPhone
    工作分支+1,最稳妥的方案
    mxalbert1996
        26
    mxalbert1996  
       2021-10-09 15:22:12 +08:00 via Android
    @qanniu 应该是 JB 的服务器中转
    mxalbert1996
        27
    mxalbert1996  
       2021-10-09 15:23:08 +08:00 via Android
    @siriulx JB 家的 Code With Me 和 projector 都能做到
    dengshen
        28
    dengshen  
       2021-10-09 17:35:44 +08:00 via iPhone
    @nameyukan 用 docker 部署在国内插件装不了。你是怎么解决的?
    461368919
        29
    461368919  
       2021-10-09 20:16:16 +08:00
    必须 dropbox,很丝滑,20G 足够了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2729 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 12:11 PVG 20:11 LAX 05:11 JFK 08:11
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86