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

Windows 和 Linux 之间的代码同步方案有没有什么好用的啊

  •  
  •   loliordie · 2019-10-18 23:26:42 +08:00 · 6733 次点击
    这是一个创建于 1896 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前是用 Windows 进行开发, 扔到 Centos 服务器上调试, 目前的方案是用 Git 进行传输, 缺点你们也知道调试完了 Commit History 里面一大堆东西需要 Rebase 一下.

    然后就想办法同步代码, 开始用了 SCP 发现每次他都会把所有文件传输一遍, Repo 里面有比较大的文件所以很慢, 只对 py 文件传输也慢, 需要一个个指定太麻烦了. 我自己用 VSCODE 可以直接 SSH 到远程但是他有 Bug 不能跳转定义, 而且很多本地资源都用不了了还是不好用.

    然后又试了 rsync, 但这玩意对 Windows 和 Linux 间的传输太不友好了

    用的 cwrsync, 一直提示 error in rsync protocol data stream (code 12) at io.c(226)

    搞了半天懒得调了...自己用 py 写了个小脚本临时用着 scp.

    有没有比较好用的方案啊...

    35 条回复    2019-10-19 22:47:09 +08:00
    0ZXYDDu796nVCFxq
        1
    0ZXYDDu796nVCFxq  
       2019-10-18 23:33:59 +08:00 via Android   ❤️ 1
    无力吐槽……
    先学下 git 是怎么用的吧……
    Jirajine
        2
    Jirajine  
       2019-10-18 23:36:06 +08:00 via Android
    syncthing
    imzcg
        3
    imzcg  
       2019-10-18 23:37:12 +08:00 via Android
    装个 linux 或者 wsl/wsl2 又或者 git config 关闭转换又或者 gitee 私有仓库,让服务器慢慢拉,又或者把服务区放到你电脑地下直连,又或者用 pycharm pro 直接连远程环境开发
    wujysh
        4
    wujysh  
       2019-10-18 23:39:00 +08:00
    WSL
    charlie21
        5
    charlie21  
       2019-10-18 23:49:43 +08:00
    生产环境直接改代码?
    love
        6
    love  
       2019-10-19 00:03:18 +08:00
    啥意思?看来你要双向同步?
    loliordie
        7
    loliordie  
    OP
       2019-10-19 00:12:43 +08:00
    @love 单向, Windows 推到 Linux 上
    loliordie
        8
    loliordie  
    OP
       2019-10-19 00:13:34 +08:00
    @gstqc 什么鬼, Debug 单独开一个分支给服务器同步本来就是正常操作. 这都能喷?
    Maboroshii
        9
    Maboroshii  
       2019-10-19 00:15:30 +08:00
    就用 git 挺好的啊.
    loliordie
        10
    loliordie  
    OP
       2019-10-19 00:20:50 +08:00
    @charlie21 测试服务器, 但是我是在 Windows 下 Debug
    loveyu
        11
    loveyu  
       2019-10-19 00:23:49 +08:00   ❤️ 1
    linux mount windows 的共享,然后 linux 本地 rsync 一下,还可以通过 git 触发
    loliordie
        12
    loliordie  
    OP
       2019-10-19 00:25:34 +08:00
    @Maboroshii 太污染 History 了, 我自己是一条 Debug 分支, 疯狂推送疯狂 Merge. 每次回去看代码都找不到东西.
    cdwyd
        13
    cdwyd  
       2019-10-19 00:34:27 +08:00
    linux 共享,windows 映射到本地,使用起来就和本地文件夹一样了
    CallMeReznov
        14
    CallMeReznov  
       2019-10-19 01:01:53 +08:00
    winscp 有差异更新的功能,如果非编译的语言,如 py 你这边保存了啥,下一秒不就上传上去了?
    Trim21
        15
    Trim21  
       2019-10-19 01:07:20 +08:00 via Android   ❤️ 1
    pycharm 自动上传
    msg7086
        16
    msg7086  
       2019-10-19 01:16:11 +08:00
    Git 下 feature 分支,频繁提交,阶段变基,算是常规操作吧。
    至于你说的代码同步,Syncthing 一把梭就完事了,真香。
    yunye
        17
    yunye  
       2019-10-19 03:01:41 +08:00 via Android
    buddy.works
    visitant
        18
    visitant  
       2019-10-19 03:39:32 +08:00
    vscode remote
    wangxiaoaer
        19
    wangxiaoaer  
       2019-10-19 07:41:24 +08:00 via Android
    看不懂你在说什么,前端?后端?调试跟 commit 什么关系?

    一楼喷的很对。
    Cyshall
        20
    Cyshall  
       2019-10-19 07:53:31 +08:00 via iPhone
    dropbox
    avenger
        21
    avenger  
       2019-10-19 08:05:19 +08:00 via iPhone
    @wangxiaoaer #19 +1
    blueorange
        22
    blueorange  
       2019-10-19 08:07:51 +08:00 via Android
    @wangxiaoaer 人家是开发机器写代码,推送到仓库,然后再用服务器拉取代码达到推送的目的,推送至仓库必然 commit,每次同步代码就必须 commit, 这就造成 commit 过多,commit 信息就很难找了,哪个 commit 干了什么事
    fanjianhang
        23
    fanjianhang  
       2019-10-19 08:17:38 +08:00 via Android   ❤️ 1
    远程机器安装 python 插件就可以跳转了,还可以 debud,和 git 没啥关系
    dttzmm
        24
    dttzmm  
       2019-10-19 08:41:37 +08:00 via Android
    有个插件叫 sftp,可以将本地文件夹同步到服务端,挺好用
    zhouchijian
        25
    zhouchijian  
       2019-10-19 10:14:36 +08:00 via Android
    gitlab ci 自动部署??
    bbsteel
        26
    bbsteel  
       2019-10-19 10:18:56 +08:00 via Android
    @blueorange 每个 commit 都说清楚做了什么不是很基础的吗?
    love
        27
    love  
       2019-10-19 10:22:16 +08:00
    @loliordie 那从 Linux 上单向从你的机子上拉不行吗?

    我自己写的本地的备份脚本定时从我的工作目录的所有 git 目录拉到我的 U 盘 git 目录中。
    fzls
        28
    fzls  
       2019-10-19 12:29:34 +08:00 via Android
    我的方案是用 idea 的自动部署功能,每次代码有改动自动同步到服务器对应目录
    blueorange
        29
    blueorange  
       2019-10-19 15:22:35 +08:00
    @bbsteel 有时候你仅仅是想测试一下刚写的代码到服务器上运行有没有问题, 这个也需要 commit?
    rayhy
        30
    rayhy  
       2019-10-19 15:34:03 +08:00
    不能直接把 Linux 盘挂载到 windows 吗?
    bbsteel
        31
    bbsteel  
       2019-10-19 16:40:52 +08:00 via Android
    @blueorange 上面不少人都说了,ide 的自动部署就行了,sftp 和 scp 工具更是一抓一大把
    blueorange
        32
    blueorange  
       2019-10-19 17:36:30 +08:00
    @bbsteel 我只是针对前面那个不知道楼主在说什么的 说明一下情况。
    xtstc
        33
    xtstc  
       2019-10-19 18:33:01 +08:00 via iPhone
    把 onedrive 挂载到服务器上
    param
        34
    param  
       2019-10-19 18:55:28 +08:00 via Android
    如果是局域网的话,还可以 sshfs。公网的话,够快也可以。
    flynaj
        35
    flynaj  
       2019-10-19 22:47:09 +08:00 via Android
    楼主还没有试过 Syncthing,试过之后你就知道什么叫同步了,秒杀之前你用过的一切同步软件。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2973 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:13 · PVG 19:13 · LAX 03:13 · JFK 06:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.