Windows→Linux,本地同步到服务器

适用背景:

用自己电脑修改代码,使用实验室/公司的服务器炼丹的朋友

优势:

本地 <--> 服务器,实时同步,省去文件传输的步骤

本地改 -> 自动同步到服务器 -> 服务器跑代码 -> 一键同步回本地(真一键,就右击按一下同步)

具体实现方式:

1. 安装SFTP插件

2. 打开本地的项目文件夹

3. ctrl + shift + p 打开搜索栏,输入sftp,打开SFTP: Config

4. 配置文件修改,实现自动同步

本地->远程,增删改移全自动,不限文件/夹文件。注意是 本地到远程 单向,反之 远程->本地 无法自动同步,需要手动download到本地。

当然远程文件都是只读的,你肯定是操作本地文件的,除了远程代码生成的新文件,这里是唯一需要手动download到本地的。

配置文件会生成在项目根目录/.vscode/sftp.json

完整的配置参数信息:Configuration · Natizyskunk/vscode-sftp Wiki (github.com)

注意:sftp.json文件会自动创建在项目的.vscode文件夹中,.vscode文件夹在哪个项目里面,该同步效果就对哪个项目生效,并不是全局的

以下配置参数为重中之重,实现全自动同步请照抄:

最重要的5项请一模一样:

{"...","watcher": {"files": "**/*","autoUpload": true,"autoDelete": true},"...","syncOption":{"delete": true},"...",
}"uploadOnSave": false, // set to false if watcher `autoUpload` is set to true & `files` is set to "**/*".

password:服务器密码,不写这个参数则每次都需要输入密码
privateKeyPath:本地端私钥绝对路径,用这个就可以不用password免密了,配置方法见VS code配置免密连接Linux服务器-CSDN博客

{"name": "My Server","host": "xxx.xxx.xx.xxx",        #你要连接的服务器的IP地址"protocol": "sftp",                 #也可以用ftp方式,sftp更安全"port": 22,                     #sftp,默认端口是22;ftp,默认端口是21"username": "xxx",                #远程服务器的名称"password": "xxx",                #远程服务器的用户登录密码"privateKeyPath": "c:/Users/xxx/.ssh/id_rsa""remotePath": "/home/xxx/project",   #本地项目要同步到远程电脑上的路径,必须是绝对路径"uploadOnSave": true,          #本地更新文件内容会自动同步到远程文件"downloadOnOpen":true,         #填true就行,打开远程文件时自动将其下载到本地"ignore": [".vscode"],                #忽略的文件/文件夹,不会被同步"watcher": {               #监视器(可以重命名文件和删除文件)"files": "**/*",          #监视项目根目录下所有文件是否更改。"autoUpload": true,         #本地有更新操作时,远程自动更新(增删改移)"autoDelete": true          #本地有删除操作时远程自动删除}
}

按照如上配置后,本地->远程 所有操作都是全自动同步。
    "downloadOnOpen": true 会自动同步(下载)打开的文件(本地端本身就有,但是远程端改写了内容的文件,即 远程->本地 的 “改” 通过该参数可以实现自动同步(需要打开该文件))
然后 远程->本地 的同步,比如远程跑代码生成的文件或者改动的文件(删除和移动操作不会同步),通过在本地目录空白处鼠标右键(或者在扩展设置键盘快捷键)——  Remote -> Local 或者 Download Folder


所以 远程端尽量不要做删除和移动文件的操作,如果在远程端移动或删除了文件,然后点同步了。如果是移动操作,那本地端原位置和新位置都会有这个文件(删除操作的话就是没变化,本地端原文件还在那里)

简单来说就是远程同步到本地只增不减,灰色为最终结果:
远程端
/home/xxx/a --移动--> /home/yyy/a本地端 /home/xxx/a + /home/yyy/a
远程端 /home/xxx/a --删除--> 本地端 /home/xxx/a


其实也不麻烦,只需要在本地端手动删除原位置的/home/xxx/a即可

下面其他配置参数,仅供参考:

{"name": "My Server","host": "xxx.xxx.xx.xxx",        #你要连接的服务器的IP地址"protocol": "sftp",                 #也可以用ftp方式,sftp更安全"port": 22,                     #sftp,默认端口是22;ftp,默认端口是21"username": "xxx",                #远程服务器的名称"password": "xxx",                #远程服务器的用户登录密码"remotePath": "/home/xxx/project",   #本地项目要同步到远程电脑上的路径,必须是绝对路径"uploadOnSave": true,          #本地更新文件保存会自动同步到远程文件(不会同步重命名文件和删除文件)"downloadOnOpen":false,         #填false就行,打开远程文件时自动将其下载到本地"watcher": {               #监视器(可以重命名文件和删除文件)"files": "**/*",            #监视项目根目录下所有文件是否更改。当然如果有需要你也可以把这里的值改成项目中某个文件或文件夹的相对路径,这样你的项目代码中只有你指定的文件或文件夹会被同步到远程"autoUpload": true,         #本地有更新操作时,远程自动更新(修改和重命名)"autoDelete": true,         #本地有删除操作时远程自动删除}
}
{"host": "远程服务器IP地址","port": 22,"username": "远程服务器登录名","password": "远程服务器密码","protocol": "sftp","agent": null,"privateKeyPath": null,"passphrase": null,"passive": false,"interactiveAuth": true,"remotePath": "远程服务器路径,如(/usr/local/...)","uploadOnSave": true,"syncMode": "update","ignore": ["**/.vscode/**","**/.git/**","**/.DS_Store"],"watcher": {"files": "**/*","autoUpload": true,"autoDelete": true}}

5. 手动同步(可跳过不看)

这里与Remote-SSH相反,SFTP不能直接修改远程文件,它的运作方式是本地修改自动同步到远程,远程修改手动下载到本地,可以单文件同步,也可以整个文件夹同步,非常灵活,免去文件传输。

远程目录和文件只用以下选项:

本地目录和文件只用以下选项:

tip1:本地同步文件夹到远程也是在远程目录右击,而不是本地文件夹右击

tip2:配置文件里面参数"uploadOnSave": true就不需要手动上传到远程了,只有第一次需要“Upload Folder”把整个文件夹上传过去

补充1:你在本地文件目录右键时或许会看到如下选项,你可以按需使用:

    sync both directions:将远程和本地的代码同步至二者一致(会提示哪边缺少文件)

    sync local -> remote : 远程同步到本地(只同步变化的地方,速度快)    

              sync remote -> local: 远程同步到本地(只同步变化的地方,速度快

    upload folder:远程文件夹同步到本地(不管有没有变化都会扫描整个文件夹,慢

    download folder:远程文件夹同步到本地(不管有没有变化都会扫描整个文件夹,慢

    这些选项,可以让你在比如本地代码误删、远程端添加了项目文件等情况下,从远程拷贝项目到本地

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/750647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

瑞熙贝通打造智慧校园实验室安全综合管理平台

一、建设思路 瑞熙贝通实验室安全综合管理平台是基于以实验室安全&#xff0c;用现代化管理思想与人工智能、大数据、互联网技术、物联网技术、云计算技术、人体感应技术、语音技术、生物识别技术、手机APP、自动化仪器分析技术有机结合&#xff0c;通过建立以实验室为中心的管…

给你的H5页面加上惯性滚动吧!

在移动端&#xff0c;如果你使用过 overflow: scroll 生成一个滚动容器&#xff0c;会发现它的滚动是比较卡顿&#xff0c;呆滞的。为什么会出现这种情况呢&#xff1f; 因为我们早已习惯了目前的主流操作系统和浏览器视窗的滚动体验&#xff0c;比如滚动到边缘会有回弹&#…

《C缺陷和陷阱》-笔记(5)

目录 一、整数溢出 溢出 如何防止溢出 二、为函数main提供返回值 连接 一、什么是连接器 连接器工作原理 三、声明与定义 四、命名冲突与static 修饰符 statia 一、整数溢出 溢出 C语言中存在两类整数算术运算&#xff0c;有符号运算与无符号运算。 在无…

Redisinsight默认端口改成5540了!网上的8001都是错误的

Redisinsight 打开白屏解决方法 最近发现一个很讨厌的bug&#xff0c;就是redisinsight运行之后&#xff0c;不行了&#xff0c;在网上找到的所有资料里面&#xff0c;redis insight都是运行在8001端口&#xff0c;但是我现在发现&#xff0c;变成了5540 所以对应的docker-com…

七.pandas处理第三方数据

目录 七.pandas处理第三方数据 1.Pandas读取文件 1.1 csv文件操作 1.1.1 CSV文件读取 自定义索引(inde_col) 查看每一列的dtype 更改文件标头名(列的标签) 跳过指定的行数 1.1.2 CSV文件写入 1.2 Excel文件操作 1.2.1 Excel文件读取 1.2.2 Excel文件写入 1.3 SQL操…

mysdql 启动错误 unknown variable windows phpstudy mysql错误日志的正确文件名

1. windowsphpstudy mysql错误日志的正确文件名 log-error"D:/phpstudy_pro/Extensions/MySQL5.7.26/data"。 刚好 数据库文件目录也是"D:/phpstudy_pro/Extensions/MySQL5.7.26/data" 其实对应的错误日志是 D:/phpstudy_pro/Extensions/MySQL5.7.26/dat…

web开发模式

1. Web 开发模式 目前主流的 Web 开发模式有两种&#xff0c;分别是 ① 基于服务器渲染的传统 Web 开发模式 ② 基于前后端分离的新型 Web 开发模式 1. 服务器渲染的Web开发模式 服务器渲染的概念&#xff1a;服务器发送给客户端的 HTML 页面&#xff0c;是在服务器通过字符…

【C++】类和对象终章

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、初始化列表1.1 初始化列表的形式1.2 初始化列表的注意事项 二、explicit关键…

[数据集][目标检测]螺丝螺母检测数据集VOC+YOLO格式2100张13类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2100 标注数量(xml文件个数)&#xff1a;2100 标注数量(txt文件个数)&#xff1a;2100 标注…

@RequestParam、@PathVariable、@RequestBody

1、中文翻译 RequestParam-请求参数、PathVariable-路径变量、RequestBody请求体 2、作用&#xff1a; Controller中获取前端传递的参数 3、从注解本身角度分析 3.1、PathVariable&#xff1a;路径变量 通过 PathVariable 可以将URL中占位符参数{xxx}绑定到处理器类的方法形…

CSS3病毒病原体图形特效

CSS3病毒病原体图形特效&#xff0c;源码由HTMLCSSJS组成&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面 下载地址 CSS3病毒病原体图形特效代码

(二)移植FreeRTOS到STM32中

一、概念 &#xff08;1&#xff09;任务&#xff08;线程&#xff09;&#xff1a;根据功能的不同&#xff0c;将一个系统分割成一个个独立且无法返回的函数&#xff0c;这个函数就被称为任务 &#xff08;2&#xff09;任务栈&#xff1a;静态创建的任务保存在栈中 &#xf…

代码随想录阅读笔记-哈希表【四数相加II】

题目 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) &#xff0c;使得 A[i] B[j] C[k] D[l] 0。 为了使问题简单化&#xff0c;所有的 A, B, C, D 具有相同的长度 N&#xff0c;且 0 ≤ N ≤ 500 。所有整数的范围在 -2^28 到 2^28 - 1 之间…

Formate函数的一般使用

Program Project2;{$APPTYPE CONSOLE}UsesSysUtils;Varnum: Integer;r1: Real;BeginRead(num, r1);Writeln(Format(%d 绝对值%%d&#xff1a;%d, [num, abs(num)]));Writeln(Format(%u 绝对值%%u&#xff1a;%u, [num, abs(num)]));Writeln(Format(%f 参数为浮点数&#xff0c;…

前后端分离:现代Web开发的协作模式

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

el-cascader修改样式(不影响全局)

当用/deep/想像往常一样修改&#xff0c;会发现不生效&#xff0c;原因在于这个组件和div#app同级了&#xff0c;如果去掉scoped&#xff0c;是最简单的方法&#xff0c;当然&#xff0c;为了不影响全局我们当然不能这么做。 以下是步骤&#xff1a; 1.我们查看组件属性&…

镜像制作实战篇

“ 在失控边缘冲杀为&#xff0c;最终解脱” CMD与EntryPoint实战 EntryPoint 与 CMD都是docker 镜像制作中的一条命令&#xff0c;它们在概念上可能有些相似&#xff0c;但在使用中&#xff0c;两者是有明显的区别的。比如&#xff0c;执行一个没有调用EntryPoint、CMD的容器会…

Rust基础知识讲解

Rust 的背景和设计理念 Rust 是一种系统编程语言&#xff0c;旨在提供高性能、内存安全和并发性。它由 Mozilla 研究院开发&#xff0c;第一个正式版本&#xff08;1.0&#xff09;发布于 2015 年。Rust 的设计融合了静态类型语言的性能和安全性&#xff0c;以及现代语言的便利…

#QT(事件--快捷键保存文件)

1.IDE&#xff1a;QTCreator 2.实验&#xff1a;QEvent,QMouseEvent,QKeyEvent。 在上一个文本编辑器的基础上实现快捷键"ctrls"保存文件。 3.记录 &#xff08;1&#xff09;查看QEVENT的有效事件 &#xff08;2&#xff09; 所有时间均继承于QEvent&#xff0c;任…

微信小程序《简单、快速上手的微信小程序音乐播放器》+源代码+文档说明

文章目录 源代码下载地址项目介绍项目功能使用方法界面预览 项目备注源代码下载地址 源代码下载地址 点击这里下载源码 项目介绍 项目功能 首页&#xff1a;歌曲歌手搜索&#xff0c;轮播图&#xff0c;各大榜单&#xff0c;热门歌单 正在播放&#xff1a; 当前播放歌曲展示…