V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
lanmingyan
V2EX  ›  程序员

大家有什么简单的办法同步两台电脑间的代码呢

  •  
  •   lanmingyan ·
    lanmingyan · 2018-07-01 22:36:56 +08:00 · 20961 次点击
    这是一个创建于 2373 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有在闲的时间会做做个人项目什么的,办公室有闲写一点,在家有闲写一点,但是觉得同步代码是个问题。

    目前我主要是用 git 仓库来同步代码的,但是感觉如果为了同步代码,而提交太多无具体意义的版本又不合适。有时候也就改几行代码也要提交版本,修改信息也不知道写什么的好。

    不知道有没有什么不使用版本控制,只是单纯同步代码的办法呢。

    113 条回复    2018-07-03 20:15:56 +08:00
    1  2  
    kindjeff
        1
    kindjeff  
       2018-07-01 22:40:06 +08:00 via iPhone
    你可以切个分支
    liwufan
        2
    liwufan  
       2018-07-01 22:42:29 +08:00 via iPhone
    dropbox 或者 syncthing ?
    mengyaoss77
        3
    mengyaoss77  
       2018-07-01 22:42:52 +08:00
    我也有相同的需求.. 看看楼下怎么说
    我目前的想法是用一台机器 A 作为版本控制的客户端, 然后别的机器使用 rsync 和 A 同步.
    zjsxwc
        4
    zjsxwc  
       2018-07-01 22:44:12 +08:00 via iPhone   ❤️ 6
    祖传 无意义的 comment 都写“ fix ”,2333
    sommer
        5
    sommer  
       2018-07-01 22:45:15 +08:00   ❤️ 1
    搞个 daily 分支,进行日常提交,功能性的提交再合到 dev 分支
    serical
        6
    serical  
       2018-07-01 22:46:34 +08:00 via Android
    坚果云?不知道行不行
    likuku
        7
    likuku  
       2018-07-01 22:46:45 +08:00
    多机同步代码,为啥会有必须要“很多无意义的 commit" ?

    在版本落后的机器上,git 仓库目录里 git pull 不就行了么?
    Vkery
        8
    Vkery  
       2018-07-01 22:46:59 +08:00 via Android
    网盘文件自动上传?
    pynix
        9
    pynix  
       2018-07-01 22:47:04 +08:00   ❤️ 4
    租一台 VPS,SSH 进去
    mkdir awesome-project && cd awesome-project && git init --bare

    本地机器

    git remote add origin user@ip:awesome-project

    安全,方便。。。。vps 还可以代理,或者部署个小网站啥的。。。
    likuku
        10
    likuku  
       2018-07-01 22:49:12 +08:00
    @mengyaoss77 我几年前还真是用 rsync 来作自己多台机器间的一些文件和代码同步的,只固定用一台机新增和编辑还可以,多机都需要编辑更新和删除时,就非常头痛。 后来换成用 svn,最后还是用 git (github/bitbucket 根据是否愿意公开选择)
    kera0a
        11
    kera0a  
       2018-07-01 22:49:38 +08:00 via iPhone
    新建分支写呗,无意义的提交也没关系,最后 rebase 合并分支的时候写的有意义就行
    ArieShout
        12
    ArieShout  
       2018-07-01 22:57:13 +08:00 via iPhone
    Git, 中间开发随意写提交信息,等合并的时候 squash 就可以了
    hatsuyuki
        13
    hatsuyuki  
       2018-07-01 23:06:38 +08:00   ❤️ 1
    只是两台电脑之间的话,增量同步类的工具是个不错的选择
    zhuangzhuang1988
        14
    zhuangzhuang1988  
       2018-07-01 23:09:43 +08:00
    mercurial 自带 web 服务器,如果用 TortoiseHg 基本就鼠标点点
    hu6360567
        15
    hu6360567  
       2018-07-01 23:12:30 +08:00
    对我来说用 git 的最大问题是,我不想 commit,但是 stash 又不能同步
    firstfire
        16
    firstfire  
       2018-07-01 23:14:19 +08:00 via iPhone
    建一个本地文件 svn 库,然后使用 onedrive 同步
    airfling
        17
    airfling  
       2018-07-01 23:17:56 +08:00 via Android
    可以启动一个 p2p 服务,一直同步某个文件夹下面的内容
    isundust
        18
    isundust  
       2018-07-01 23:22:57 +08:00 via Android
    C9.io 了解一下
    ArianX
        19
    ArianX  
       2018-07-01 23:35:46 +08:00 via Android
    onedriver 很方便
    wslsq
        20
    wslsq  
       2018-07-01 23:36:05 +08:00
    坚果云?
    coolcoffee
        21
    coolcoffee  
       2018-07-01 23:39:06 +08:00
    goodsync 可以使用,需要用一台服务器进行中转。修改完代码后像提交版本一样, 将代码 SFTP 同步到服务器,然后另外一边再同步下来
    mapleincode
        22
    mapleincode  
       2018-07-02 00:00:06 +08:00
    试过坚果云,还不错,之前设置是否要同步的文件夹。只是速度很慢。
    buffge
        23
    buffge  
       2018-07-02 00:12:36 +08:00
    所有代码全部放在服务器上 NetBeans ftp 自动同步.非常好用
    johnnie502
        24
    johnnie502  
       2018-07-02 00:13:52 +08:00 via Android
    代码这种东西还是手动提交的好,自动同步那种搞不好就把不该覆盖的覆盖了
    GTim
        25
    GTim  
       2018-07-02 00:30:10 +08:00
    如果可以用 icloud
    a7a2
        26
    a7a2  
       2018-07-02 00:32:28 +08:00
    onedrive
    hacher
        27
    hacher  
       2018-07-02 00:34:24 +08:00
    git commit -am "update"
    git push
    自己的代码反正没人看
    weeka
        28
    weeka  
       2018-07-02 00:34:49 +08:00 via Android
    syncthing
    wudaye
        29
    wudaye  
       2018-07-02 00:39:40 +08:00 via Android
    我是用坚果云的自动同步
    akira
        30
    akira  
       2018-07-02 00:43:14 +08:00
    代码版本管理的粒度不是应该越小越好么,不要说几行代码了,改几个字符都有可能要提交一次.
    sammo
        31
    sammo  
       2018-07-02 00:43:52 +08:00
    没有。
    myliyifei
        32
    myliyifei  
       2018-07-02 00:55:23 +08:00 via Android
    @sommer 这样有个问题 分支之间切换 会覆盖文件的最后修改时间。git 不记录这个信息,不知道有什么好的办法没有。
    huclengyue
        33
    huclengyue  
       2018-07-02 01:00:21 +08:00 via Android
    onedrive
    sammo
        34
    sammo  
       2018-07-02 01:02:04 +08:00   ❤️ 13
    chunk
        35
    chunk  
       2018-07-02 01:09:52 +08:00 via Android   ❤️ 1
    rsync
    easylee
        36
    easylee  
       2018-07-02 01:12:12 +08:00 via Android
    几年前用 vs,就有这个功能。
    VYSE
        37
    VYSE  
       2018-07-02 01:17:13 +08:00
    seafile
    edoras
        38
    edoras  
       2018-07-02 01:31:15 +08:00 via Android
    sftp 或者 rsync ?
    qoras
        39
    qoras  
       2018-07-02 01:52:25 +08:00
    onedrive 或者 dropbox
    nicktogo
        40
    nicktogo  
       2018-07-02 05:00:21 +08:00 via iPhone   ❤️ 1
    git rebase , 然后 squash 把几个 commit 合并掉
    clino
        41
    clino  
       2018-07-02 06:06:53 +08:00 via Android
    rsync
    jedihy
        42
    jedihy  
       2018-07-02 06:12:35 +08:00
    当然还是用 git 呀,就像#40 说的,squash 那些小的 commit 就可以了。
    swkl86
        43
    swkl86  
       2018-07-02 06:33:39 +08:00 via Android
    dev 分支?
    分一个独立的开发仓?
    私有 git ?

    反正我是两个分支,两个库
    开发私有仓有如下分支
    master 正式开发分支 comment 都会比较规范
    dev 就等同于同步仓 comment 都懒得写或者胡乱拍键盘

    工作生产仓
    master 生产主干,严格规范
    bate 预上线主干,含测试,私有仓的 master 会提交上来这

    虽然恶心麻烦了点,但个人感觉比较靠谱,反正我是这么干,不信同步工具控制代码,出过问题
    如果非要考虑,u 盘,移动硬盘
    代码都丢里面,走到哪带到哪,反正线上私有仓有上一个工作副本,里面放的是最近开发中版本
    chiu
        44
    chiu  
       2018-07-02 06:39:24 +08:00 via Android
    其中一台修改文件的时候,只能通过远程另一台电脑的方式去修改,这样才能省掉中间同步的操作。
    Wondertainment
        45
    Wondertainment  
       2018-07-02 06:41:55 +08:00 via Android
    9Cloud?
    Keyes
        46
    Keyes  
       2018-07-02 07:30:56 +08:00 via Android
    git 仓库放在 dropbox 上,测试了很多网盘比如 mega、onedrive,都会在上传文件时独占掉,导致各种文件不可写的错误,比如 npminstall、go get 等等,一圈下来还是 dropbox 最稳
    koc
        47
    koc  
       2018-07-02 08:39:13 +08:00 via iPad
    写个脚本定时上传到 dropbox,再写个脚本一键从 dropbox 复制过来
    yulitian888
        48
    yulitian888  
       2018-07-02 08:41:27 +08:00
    如果只是自己用的话,机器开个远程就好了呗
    另外,宇宙第一 IDE,VS 带了一个叫做 live share 的功能完美满足题主需要
    bipeng0405
        49
    bipeng0405  
       2018-07-02 08:41:54 +08:00 via iPad
    楼主是为了同步代码还是为了继续项目,如果单纯为了代码,那就用云盘方便快捷,但是为了项目建议 git
    yylucifer
        50
    yylucifer  
       2018-07-02 08:48:42 +08:00
    git branch
    git rebase
    git merge

    了解一下?
    smilenceX
        51
    smilenceX  
       2018-07-02 08:51:36 +08:00
    "而提交太多无具体意义的版本又不合适"
    可能是你使用 git 的姿势有问题,git flow 了解一下?
    lights
        52
    lights  
       2018-07-02 08:53:38 +08:00 via iPhone
    wip commit
    kaesi0
        53
    kaesi0  
       2018-07-02 08:53:53 +08:00
    坚果云啊。。。。
    SilentDepth
        54
    SilentDepth  
       2018-07-02 08:56:03 +08:00
    用 Git,message 写 dev 或者 tmp 或者 wip,之后 rebase 一下
    breezeFP
        55
    breezeFP  
       2018-07-02 08:58:28 +08:00
    搞个服务器,做个本地和远程服务器文件的映射,没搞过,只是这么想的
    jayliao
        56
    jayliao  
       2018-07-02 08:58:30 +08:00
    坚果云能满足的你的需求
    NEETLEE
        57
    NEETLEE  
       2018-07-02 08:58:58 +08:00
    搞个 ftp 服务器,然后用支持 ftp 的 ide 编码,自动上传到服务器就可以轻松实现同步了
    wzxlover
        58
    wzxlover  
       2018-07-02 09:03:08 +08:00
    dropbox,onedrive,google drive 都可以啊
    kingstudio
        59
    kingstudio  
       2018-07-02 09:17:05 +08:00
    nextcloud
    fyxtc
        60
    fyxtc  
       2018-07-02 09:31:29 +08:00
    emmmm 我用的是 dukto,跨平台的传输工具,很方便
    licoycn
        61
    licoycn  
       2018-07-02 09:34:45 +08:00
    git 硬盘 网盘 局域网 办法很多
    womaomao
        62
    womaomao  
       2018-07-02 09:43:40 +08:00   ❤️ 1
    开一个 dev 分支,2 边代码都提交 dev,随便 commit,完成一个功能后 squash 合到主干
    chenuu
        63
    chenuu  
       2018-07-02 09:46:34 +08:00
    坚果云,花钱买了一年专业版,一年之后空间会涨到 12G 好像。或者 onedrive,默认 5G,可扩容到 15G
    randyzhao
        64
    randyzhao  
       2018-07-02 09:49:49 +08:00
    表示信不过自动同步

    宁愿弄个新分支,做 commit
    aiwmao
        65
    aiwmao  
       2018-07-02 10:00:40 +08:00
    icloud 桌面和文稿全部同步
    Story5
        66
    Story5  
       2018-07-02 10:03:40 +08:00
    同 7 楼,git 就行,版本落后了 git pull origin
    ibegyourpardon
        67
    ibegyourpardon  
       2018-07-02 10:03:56 +08:00
    @akira 我也是……屁大点改动我都 commit。 甚至干脆顺手 push 下。
    fengche361
        68
    fengche361  
       2018-07-02 10:08:29 +08:00
    坚果云应该可以满足吧
    Chyroc
        69
    Chyroc  
       2018-07-02 10:31:02 +08:00
    电脑 1:git checkout -b just_for_async,git commit and git push
    电脑 2:git fetch and git checkout just_for_async and do some commit and git commit --amend
    kwklover
        70
    kwklover  
       2018-07-02 10:34:31 +08:00
    跟楼主的情况有点类似

    现在基本就是打包 传到微云(只有有修改,每天下午打包一次),这样微云是最新的。

    其他版本控制系统,就懒得折腾了,毕竟业余项目,简单点处理,还可以当成备份。
    cheesea
        71
    cheesea  
       2018-07-02 10:40:12 +08:00
    有这么复杂的么......有 icloud 就用 icloud,没有的话随便找一个网盘不就行了。
    ctro15547
        72
    ctro15547  
       2018-07-02 11:23:01 +08:00
    U 盘,请
    sm0king
        73
    sm0king  
       2018-07-02 11:37:20 +08:00
    随便找个 git 平台,开源中国、阿里云,github,等等都可以吧。简单,方便。
    viator42
        74
    viator42  
       2018-07-02 11:37:33 +08:00
    项目放 U 盘里在两台电脑上开发一点都不方便.依赖库的路径版本不一样很容易掉坑里
    最好的办法还是自己背电脑
    ysw
        75
    ysw  
       2018-07-02 11:53:01 +08:00
    atom 带了 Teletype 可以了解一下
    q397064399
        76
    q397064399  
       2018-07-02 11:56:23 +08:00
    daily commit squash
    anoninz
        77
    anoninz  
       2018-07-02 11:56:24 +08:00
    icloud 文稿
    genius2k
        78
    genius2k  
       2018-07-02 12:23:33 +08:00
    goodsync, rsync
    youyaang
        79
    youyaang  
       2018-07-02 13:14:20 +08:00
    onedrive
    youyaang
        80
    youyaang  
       2018-07-02 13:16:50 +08:00
    我是把代码都放到 onedrive 的文件夹下面的,一修改保存就自动上传更新,另外一台电脑也会同步更新
    gidot
        81
    gidot  
       2018-07-02 14:51:25 +08:00
    @zjsxwc 我祖传写 dev,一只手搞定。
    Amayadream
        82
    Amayadream  
       2018-07-02 14:52:36 +08:00
    onedrive +1, 很好用, 就是会把 idea 的配置和.git 都同步很烦
    yamedie
        83
    yamedie  
       2018-07-02 14:59:16 +08:00
    1M 小水管良心云 cvm, 代码在上面维护一套, beyond compare 用 sftp 登录, 写一点就同步到 sftp 里一点, 没有版本控制, 但差异文件和位置很容易找到, bc 这个软件是真的好
    jmk92
        84
    jmk92  
       2018-07-02 15:00:52 +08:00
    onedrive+10086
    yanaraika
        85
    yanaraika  
       2018-07-02 15:01:28 +08:00 via Android
    所有代码放在中间的服务器上,用 sshfs 挂载在两台机子上
    yjxjn
        86
    yjxjn  
       2018-07-02 15:10:14 +08:00
    onedrive 这种的我认为不可信,就算每天写了一点,我还是喜欢用 git。
    chingli
        87
    chingli  
       2018-07-02 15:11:23 +08:00
    rsync -rtv --delete --exclude-from="$WORK/sync/bin/exclude.list" '-e ssh -p 2222' [email protected]:syncpath $WORK/
    20has
        88
    20has  
       2018-07-02 15:27:56 +08:00
    py 小渣表示用 pycharm 搭配家里路由器的 ftp 来保持家里和公司的 版本一致
    zhuweiyou
        89
    zhuweiyou  
       2018-07-02 15:37:50 +08:00
    那是你用 git 的姿势不正确。
    再开个分支,开发时随意提交,message 乱打就行。
    完成了再 squash 合进去就一条 commit 认真写下 message。
    yeshiwei
        90
    yeshiwei  
       2018-07-02 15:41:26 +08:00
    我直接在我的阿里云 VPS 上写。
    corningsun
        91
    corningsun  
       2018-07-02 16:26:22 +08:00
    gitflow 了解下。
    新功能开发, 先创建 一个新的 feature 分分支,开发完 直接 rebase 到 develop 上,就可以了。
    mcluyu
        92
    mcluyu  
       2018-07-02 16:34:49 +08:00
    把项目放在 iCloud 目录里。
    rxzxf1993
        93
    rxzxf1993  
       2018-07-02 16:36:07 +08:00
    @mcluyu 6
    ftp 了解一下
    archean
        94
    archean  
       2018-07-02 16:36:29 +08:00
    Dropbox 等可以通过云同步文件的服务完美解决。
    noinlj
        95
    noinlj  
       2018-07-02 16:54:23 +08:00
    不是应该是 GIT 吗?
    cuberlzy
        96
    cuberlzy  
       2018-07-02 17:38:03 +08:00
    可以自己搭建 webdav,然后挂载到本地
    jsun
        97
    jsun  
       2018-07-02 17:40:45 +08:00
    代码同步还是 git,什么云的不推荐
    fxg
        98
    fxg  
       2018-07-02 17:47:46 +08:00
    老老实实用 git,用网盘(包括 Dropbox )你会后悔的,文件回退或被覆盖的乱七八糟
    tchekai704
        99
    tchekai704  
       2018-07-02 18:19:41 +08:00   ❤️ 1
    我用 Dropbox,这是我以前写的一篇文章
    https://www.jianshu.com/p/f8c5085e36f0
    rayjoy
        100
    rayjoy  
       2018-07-02 19:19:49 +08:00
    Mark 一下,有同样的需求,学习一下大家的解决方法。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2352 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 15:49 · PVG 23:49 · LAX 07:49 · JFK 10:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.