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

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

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

    如果把项目文件直接放到 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   ·   实用小工具   ·   2639 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 05:10 · PVG 13:10 · LAX 21:10 · JFK 00:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.