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

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

  •  
  •   lanmingyan ·
    lanmingyan · Jul 1, 2018 · 22947 views
    This topic created in 2878 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    本地机器

    git remote add origin user@ip:awesome-project

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

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

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

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

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

    宁愿弄个新分支,做 commit
    aiwmao
        65
    aiwmao  
       Jul 2, 2018
    icloud 桌面和文稿全部同步
    Story5
        66
    Story5  
       Jul 2, 2018
    同 7 楼,git 就行,版本落后了 git pull origin
    ibegyourpardon
        67
    ibegyourpardon  
       Jul 2, 2018
    @akira 我也是……屁大点改动我都 commit。 甚至干脆顺手 push 下。
    fengche361
        68
    fengche361  
       Jul 2, 2018
    坚果云应该可以满足吧
    Chyroc
        69
    Chyroc  
       Jul 2, 2018
    电脑 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  
       Jul 2, 2018
    跟楼主的情况有点类似

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

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