V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
releaseme
V2EX  ›  问与答

不懂就问,如何在两台电脑之间无缝同步代码?

  •  
  •   releaseme · 2019-03-04 12:01:00 +08:00 · 4754 次点击
    这是一个创建于 2093 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 功能没全部写完的时候, 不想添加 commit 来同步。
    • dropbox,onedrive 之类的好像没类似 gitignore 的功能来排除不想同步的 node_modules 文件夹
    • 不想远程
    24 条回复    2019-03-04 22:44:46 +08:00
    gzlock
        1
    gzlock  
       2019-03-04 12:10:11 +08:00 via Android
    FTP 啊
    singerll
        2
    singerll  
       2019-03-04 12:15:23 +08:00 via Android
    rsync
    lovepocky
        3
    lovepocky  
       2019-03-04 12:16:21 +08:00 via iPhone   ❤️ 1
    syncthing
    hhhsuan
        4
    hhhsuan  
       2019-03-04 12:16:37 +08:00 via Android
    rsync +1
    Yvette
        5
    Yvette  
       2019-03-04 12:29:26 +08:00 via iPhone   ❤️ 1
    再分一个 temp branch 做完后 merge 回 feature 的 branch
    boris1993
        6
    boris1993  
       2019-03-04 12:39:00 +08:00 via Android
    续 #5 merge 的时候还能 squash,多个 commit 合成一个,更清爽
    alexsunxl
        7
    alexsunxl  
       2019-03-04 12:52:51 +08:00
    rsync 肯定是最快的,稍微配置一下,一步到位。
    有写编辑器还可以实现一个 save hook, 一保存就触发 rsync 脚本

    git 还需频繁操作。
    alexsunxl
        8
    alexsunxl  
       2019-03-04 12:53:06 +08:00
    @alexsunxl 有写 -> 有些
    cy97cool
        9
    cy97cool  
       2019-03-04 12:56:40 +08:00
    如果用网盘同步的话,把代码用 hard link 的方式放到另外一个文件夹 加入同步

    Win10 命令行 mklink /H 目标路径 原文件
    Linux 下 ln --physical 原文件 目标路径
    Nathanzheng
        10
    Nathanzheng  
       2019-03-04 12:57:42 +08:00
    试着用 Gdoc 写代码🐶
    passerbytiny
        11
    passerbytiny  
       2019-03-04 13:03:13 +08:00
    再你们之间任选一台电脑当 Second Master,Second Master 上创建临时分支,其他人添加 Second Master 为额外的远程仓库,所有人都工作在 Second Master 的 temp 分支上。完成后,Second Master 先 rebase -i 合并提交,然后在合并到真正的开发分支上。
    whusnoopy
        12
    whusnoopy  
       2019-03-04 13:23:45 +08:00
    OneDrive 没法写 .gitignore 排除,但是有别的方法

    1. 先建一个空的 node_modules 目录,然后在设置里把这个文件夹选成不同步
    2. 用软连接( mklink ),把 node_modules 目录放到 OneDrive 文件夹外面,用软连接做一个快捷方式过去,OneDrive 只会同步这个快捷方式,不过这种快捷方式在某些终端下可能不认,硬连接( mklink /j )会被同步
    whusnoopy
        13
    whusnoopy  
       2019-03-04 13:25:05 +08:00
    另外,取决于你们的 git 仓库的模式,如果是类 GitHub 自己 fork 然后 pull request 的话,可以自己写一点往自己的远端推送,commit 随便写,写完了再把这一批 rebase 成一个合适的 commit 再发 pr
    lynskylate
        14
    lynskylate  
       2019-03-04 13:26:52 +08:00 via Android
    sshfs 挂载到本地
    huahuajun9527
        15
    huahuajun9527  
       2019-03-04 13:34:29 +08:00
    WebIDE?
    flynaj
        16
    flynaj  
       2019-03-04 13:35:00 +08:00
    rsync +1
    tgich
        17
    tgich  
       2019-03-04 14:03:32 +08:00
    U 盘吧,如果没网络
    gaius
        18
    gaius  
       2019-03-04 14:07:32 +08:00
    多次 commit rebase 不就行了有什么不好的影响吗
    otakustay
        19
    otakustay  
       2019-03-04 14:41:52 +08:00
    我现在用的 synology 的同步,用自己的 NAS,基本就是无缝的
    MrKou47
        20
    MrKou47  
       2019-03-04 15:34:06 +08:00 via iPhone
    瞬间就想到了 google doc..其实也不是不可以
    NogameNoLife
        22
    NogameNoLife  
       2019-03-04 17:06:14 +08:00
    winscp 的自动同步远程文件功能不错
    msg7086
        23
    msg7086  
       2019-03-04 18:33:48 +08:00
    Syncthing,多文件夹单独设置共享目标,p2p 互联没有 SPOF,可以写 ignore 规则排除同步。
    还要什么自行车。
    claysec
        24
    claysec  
       2019-03-04 22:44:46 +08:00
    rsync +N
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1595 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:58 · PVG 00:58 · LAX 08:58 · JFK 11:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.