windows clion代码同步(rsync)

代码同步原理

简单说,客户端将代码上传到云端,利用云端环境进行编译,编译成功后将产物(符号表)拉取至本地进行加载,ide对符号表进行索引,则完成整个代码的加载。

同步配置参考

前置条件

假设已经安装好gcc环境和cmake-3.6.x环境

配置教程参考

https://cloud.tencent.com/developer/article/1406250

如果懒得看,提一下几个要点

  • Deployment配置成ssh,connection配置成云端主机,mapping配置本地和云端目录的映射,exclude paths配置一些不需要同步的文件夹。完成这个步骤,可以保证基本的代码上传。

  • 编译需要额外配置两步

    • CMake加一个Debug-Remote Host,ToolChain选Remote Host
    • image-20230709111417508
    • Toolchains选择Remote Host,并设置成default,设置credentials为开发机,CMake选Remote Host CMake
    • image-20230709111528950

但教程使用ssh同步有一个显著弊端,不支持增量同步,每次数据的传输量都超级大,但凡改过的文件会持续存在在代码里,除非去服务端修正(例如git stash)。

rsync的优点,主要是支持增量同步(--exclude也很好用),可以有效规避代码同步问题。

rsync安装

rsync也是遵循cs架构。

服务端

通常linux server自带rsync server,如果没有,可以手动自行安装一个,不赘述。

客户端

macos通常rsync 客户端比较好弄,不赘述,homebrew一套下来。

windows本地安装相对费劲一点,有两种安装方式。

一种通过cygwin安装rsync和ssh。

另一种从 https://itefix.net/cwrsync 下一份rsync client(里面包含ssh),随意找一个空白位置解压。记一下对应bin目录的位置,如

D:\cwrsync_6.2.9_x64_free\bin

clion配置

完成基本同步配置后,设置一下rsync

image-20230709000723226

image-20230709003510239

 

D:\software\cwrsync\bin\rsync.exe

-auv,-e,ssh

D:\software\cwrsync\bin\ssh.exe

 

 

参数设置成-auv -e ssh(增量同步 via ssh),上面的rsync路径和ssh路径都可以利用之前拷贝的路径拼一个,如

D:\cwrsync_6.2.9_x64_free\bin\rsync.exe

D:\cwrsync_6.2.9_x64_free\bin\ssh.exe

注意rsync和ssh一定是要配对的。这些操作做完,rsync就完成了配置。

验证

image-20230709003654810

随便修改一个文件,点一下刷新,如果没有明显报错,则rsync配置成功了。

 

踩过的坑:

不建议通过scoop安装rsync和openssh搭配,上面的组合和原生的openssh也是失败的。

 

FAQ

  1. 找不到CC和CXX

    强制指定CC为gcc的路径,CXX为g++的路径即可

    export CC=${gcc_path}/bin/gcc export CXX=${gcc_path}/bin/g++

  2. 安装gcc的时候总出现一些玄学bug,比如不识别platform为x86_64

    一般情况下都是系统镜像可能有问题,因为安装依赖旧版本的gcc,旧版本gcc如果有问题,一样无法安装

    可以优先做如下尝试

     
     
     
     
     
     
    yum install gcc-c++ texinfo -y
     

    我所用的镜像是CentOS 7.6 64bit for Tenant

 

参考:

rsync安装

https://blog.csdn.net/yyuggjggg/article/details/122198815

gcc-7.3.0安装

http://3ms.huawei.com/km/blogs/details/8537685

 

posted @   易先讯  阅读(639)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示