• 请不要在回答技术问题时复制粘贴 AI 生成的内容
seanxx
V2EX  ›  程序员

大家如何同步多终端代码,以 idea 为例

  •  
  •   seanxx · Aug 4, 2021 · 8171 views
    This topic created in 1924 days ago, the information mentioned may be changed or developed.

    比如说代码变更啥的,不 push 到远程分支的情况下,如何同步代码

    59 replies  •  2021-08-10 22:48:36 +08:00
    Leonard
    Leonard
    Aug 4, 2021
    1
    在同一个 iCloud Drive 里写?
    wellsc
    wellsc
    Aug 4, 2021❤️19
    2
    为什么要给自己制造问题
    gitopen
    gitopen
    Aug 4, 2021
    3
    我直接用 VS Code remote
    Cbdy
    Cbdy
    Aug 4, 2021 via Android
    4
    push 到远程分支有什么问题吗?
    sutra
    sutra
    Aug 4, 2021
    5
    iCloud Driver 和 git 合作时有点问题。
    Jooooooooo
    Jooooooooo
    Aug 4, 2021
    6
    git 提供天然同步的功能为啥还要增加一个云来解决问题?
    Ariver
    Ariver
    Aug 4, 2021 via iPhone
    7
    如果两台机器网络联通是可以直接 push 的
    Jface
    Jface
    Aug 4, 2021
    8
    本地就坚果云, 远程就 git 吧, 想问问一般自己搭还是用 GitHub 或者 Gitee?
    clf
    clf
    Aug 4, 2021
    9
    同步软件实现。比如 Syncthings 、Goodsync 等同步就行。
    Hstar
    Hstar
    Aug 4, 2021
    10
    如果不让推公共 remote,自建一个私有 remote 推上去
    Kimen
    Kimen
    Aug 4, 2021❤️1
    11
    你可以了解一下 Jetbrains 的 projector-docker 项目,可以在服务器上部署一套 web 版的 idea
    https://github.com/JetBrains/projector-docker
    Puteulanus
    Puteulanus
    Aug 4, 2021
    12
    同事之间临时同步一下修改的话,有时候会打一个 patch 用 teams 发过去
    idea 的 apply patch from clipboard 挺好用的
    VZXXBACQ
    VZXXBACQ
    Aug 4, 2021
    13
    mark,看看大家怎么解决,我没有

    @wellsc

    不算制造吧。

    比如开发机和测试机分离,比如最近经常遇到 WFH 的时段。
    Cielsky
    Cielsky
    Aug 4, 2021 via Android
    14
    坚果云,onedrive,syncthing
    fengci
    fengci
    Aug 4, 2021
    15
    jetbrains IDE 有个部署功能。 可以同步代码,本地改完实时同步。但我是用来测试环境开发用,不想用本地的环境的时候用的。
    libook
    libook
    Aug 4, 2021
    16
    用 git 分支可以解决。

    不想用 git 可以回归 patch 方式,去搜一下用 diff 指令生成 patch 文件,然后用 patch 指令应用 patch 。
    smilenceX
    smilenceX
    Aug 4, 2021
    17
    如果你只要不想同步到某个特定的 remote,git 可以支持多个 remote 的
    Vegetable
    Vegetable
    Aug 4, 2021❤️1
    18
    git 明明就是解决这个问题的
    qwerthhusn
    qwerthhusn
    Aug 4, 2021❤️2
    19
    玩转 git 的一个重要条件就是 多 remote 多 branch 玩的 6
    wellsc
    wellsc
    Aug 4, 2021
    20
    @VZXXBACQ “开发机和测试机分离”用 git 难点在哪里
    shilianmlxg
    shilianmlxg
    Aug 4, 2021 via iPhone
    21
    你需要一个 git gui 自动拉不香嘛
    CodeCodeStudy
    CodeCodeStudy
    Aug 4, 2021
    22
    自己买台服务器,push 到自己的远程仓库就好了
    xe2vherd
    xe2vherd
    Aug 4, 2021 via iPhone
    23
    mega
    EscYezi
    EscYezi
    Aug 4, 2021 via iPhone
    24
    git bundle 打包带走
    ayase252
    ayase252
    Aug 4, 2021
    25
    拉个自己的 branch 推上去不就是了
    lujiaosama
    lujiaosama
    Aug 4, 2021❤️3
    26
    折腾到你最后你会发现还是 Git 好使. 其他的各种问题. 文件多了少了错了乱了, 尤其是云盘, 别问我怎么知道的.
    xingyue
    xingyue
    Aug 4, 2021 via Android
    27
    @lujiaosama 请问通过 git 有没有小技巧。我目前是先无脑 commit -m only-for-sync,然后要合并到主干前用 rebase 去除无用的 commit 记录,最后 push -f 。虽然目的可以达到但是步骤略麻烦
    FringJX
    FringJX
    Aug 4, 2021
    28
    你 push 到你自己的分支,没啥影响的。我们就是这样,同步代码就是自己建分支,然后 push 到服务端。
    Dragonphy
    Dragonphy
    Aug 4, 2021
    29
    @Kimen #11 没法用中文
    akring
    akring
    Aug 4, 2021❤️1
    30
    @Leonard 库克直呼内行,原来 iCloud 还能这么用
    Rheinmetal
    Rheinmetal
    Aug 4, 2021
    31
    合并之前 杂乱的 squash 掉
    不要自找麻烦
    pengtdyd
    pengtdyd
    Aug 5, 2021
    32
    自己玩死自己
    beginor
    beginor
    Aug 5, 2021 via Android
    33
    貌似不能这样同步,装了三个 JB 的 IDE,Idea,Rider 和 PyCharm,分别写 Java,C# 和 Python, 本来还想装 DataGrip 和 WebStorm, 但是发现这两个的功能基本都在其它 IDE 里面包括了
    beginor
    beginor
    Aug 5, 2021 via Android
    34
    @beginor 貌似回复错主题了,打扰各位了
    Maxxxxyu
    Maxxxxyu
    Aug 5, 2021
    35
    你先 fork 一份到自己账户下,修改都在自己账户下做,确认没问题了再合到远程分支不就好了
    jorneyr
    jorneyr
    Aug 5, 2021
    36
    Git 新建个分支随便糟蹋啊。
    TomatoCLI
    TomatoCLI
    Aug 5, 2021
    37
    完全不懂开发机和测试机分离为什么会有这种情况,git 不是很好的解决了吗?
    hanssx
    hanssx
    Aug 5, 2021
    38
    onedrive 同步,用 insync 客户端(可以设置忽略.git 文件夹同步,支持三平台),只在一台电脑做 git 操作即可,目前在用没发现什么问题。
    mrgeneral
    mrgeneral
    Aug 5, 2021
    39
    JetBrains 的 IDEA 有一个功能 code with me,可以远程同步
    naver1
    naver1
    Aug 5, 2021
    40
    坚果云。
    HuangLibo
    HuangLibo
    Aug 5, 2021
    41
    - 有人说要用 git,那你将面临一个问题:每次离开工位回去的时候,都要 push 一下,忘了 push 就凉凉。
    - 有人说用 iCloud Driver,这个我用过,同步大量小文件的时候,同步效率堪忧。
    - 我现在用的 Dropbox,其同步性能比 iCloud Driver 好不少。另外,.git 目录也不用忽略,多台机器上都能 push,操作完成后,其他机器都能同步到最新内容,包括 git 状态。这样的好处是随时离开工位,不用惦记着先 push 一下,非常省心。唯一存在的问题有两个:1. 需要有一个靠谱的 ss 梯子; 2. 有时候 .git 目录中会出现冲突文件,需要手解,不过影响也不大。
    HuangLibo
    HuangLibo
    Aug 5, 2021
    42
    @HuangLibo 补充,目前我写 blog 就是用的 Dropbox 这个方案,已经用了几个月了,很稳。有兴趣可以看看:github.com/Huang-Libo/Huang-Libo.github.io
    ch2
    ch2
    Aug 5, 2021
    43
    养成 push 的习惯
    back0893
    back0893
    Aug 5, 2021
    44
    git 不好么..
    comoyi
    comoyi
    Aug 5, 2021
    45
    1.随身带 U 盘,代码存到 U 盘里。
    comoyi
    comoyi
    Aug 5, 2021
    46
    2.代码和编辑器装远程服务器,VNC 连接
    id4alex
    id4alex
    Aug 5, 2021
    47
    通过 webdav 挂载 nas 到本地 drive. 最轻松的解决方案.
    harde
    harde
    Aug 5, 2021
    48
    笔记本电脑。

    --


    这个问题的产生,应该是多地办公产生的。所以我觉得,在没有必要 Commit 、Push 之前,同步代码是个伪需求。
    多数情况下,公司的代码是不允许拿回家的,即使允许拿回家,除了代码,“数据库”你也打算同步?
    所以,要么直接带着笔记本多地跑,要么就 VPN 连入局域网,直接远程桌面工作。
    kchum
    kchum
    Aug 5, 2021
    49
    @CodeCodeStudy #22 Github private repository 就行
    rpman
    rpman
    Aug 5, 2021
    50
    IDE 的 ssh 功能,比如 VSCode remote SSH
    如果硬要分开环境,我个人是本地上架一个 git
    fds
    fds
    Aug 5, 2021
    51
    keybase 可以建立个私有的 git 仓库。
    lanlanye
    lanlanye
    Aug 5, 2021
    52
    各类同步盘……国内据说坚果云不错,或者自己整个 Nextcloud
    Mozuck
    Mozuck
    Aug 5, 2021
    53
    onedrive 自动同步
    flniu
    flniu
    Aug 6, 2021
    54
    @HuangLibo DevOps 规范推荐的就是小步提交、频繁提交。每天下班的时候,不是都应该 push 代码并通过 CI 吗?
    HuangLibo
    HuangLibo
    Aug 6, 2021
    55
    @flniu 企业的项目当然要严格按规范来,也不会往云盘里放。但如果你自己维护三四个个人小仓库,中午回去、晚上回去,都 push 一下?代码都还没写完编译都通不过呢,就往 git 提交?
    flniu
    flniu
    Aug 9, 2021
    56
    @HuangLibo 哪怕是比较小的个人项目,既然已经建了 Git 仓库,就充分利用版本控制的价值,没必要再重复发明一套轮子。
    理想情况下,一个开发任务经过合理拆解、分步,每个步骤的代码+测试基本可以在若干个番茄时间(或 1-2 小时)里完成(编译及自动化测试都通过)。当然有时候达不到理想情况。不适合往主线 push 时,可以往临时分支 push 。
    个人观点:不管是否同步多终端,代码积攒超过 1 天不提交,不是好的编程实践。(往往改丢了或想回退时才追悔莫及)
    HuangLibo
    HuangLibo
    Aug 10, 2021
    57
    @flniu 别上纲上线被教条主义束缚了,写个几个小 demo,或者维护一个 jekyll 小博客,就没必要非得按 xx 步骤做,而是两台电脑可以静默同步,无论人是在公司还是在家里、啥时候想起来了就能打开看看,做点小修改。
    当然,每个人都有自己的生活习惯,如果你能在每次离开公司电脑前都能把 n 个仓库挨个 commit,并在回家的时候把这些仓库挨个 pull,也不是不行,你不嫌累就好。
    lujiaosama
    lujiaosama
    Aug 10, 2021
    58
    @HuangLibo 为什么要挨个 commit. 写个脚本一键 pull ,一键 push, 一键 run. 愿意的甚至可以设个定时.
    HuangLibo
    HuangLibo
    Aug 10, 2021
    59
    @lujiaosama 当我在家里已经开始收到同步的东西的时候,你还在焦急地等着你的定时器生效 ;-P
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1427 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 142ms · UTC 16:46 · PVG 00:46 · LAX 08:46 · JFK 11:46
    ♥ Do have faith in what you're doing.