大家有什么简单的办法同步两台电脑间的代码呢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
lanmingyan
V2EX    程序员

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

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

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

    目前我主要是用 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
    代码这种东西还是手动提交的好,自动同步那种搞不好就把不该覆盖的覆盖了
    yemoluo
        25
    yemoluo  
       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 都会比较规范
    ev 就等同于同步仓 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
    hikarugo
        60
    hikarugo  
       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     Solana     917 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 18:50 PVG 02:50 LAX 11:50 JFK 14:50
    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