【软件使用】VSCode的服务器和github同步
文章目录
- 引言
- 1. 公钥私钥配对
- 2. 本地和服务器的同步
- 3. 服务器和github的同步
- 4. github操作
- 5. 总结
引言
近期发现VSCode是一个非常强大的IDE,可以替换掉诸如xshell、winscp等多款软件,实现很好的本地、服务器、甚至github的同步。
1. 公钥私钥配对
不管是本地到服务器,本地到github,还是服务器到github,都可以通过配置密钥的方式,实现免密登录,因此先讲述如何进行密钥配对。
配对的时候,要把公钥分给远程端,把私钥分给本地端(服务器发给另一个服务器时也可以视为本地端),公钥私钥唯一匹配,则可以成功登录。
- 生成新的密钥,在windows的cmd,或linux和mac的终端中,输入如下命令,确认后会生成两个文件,id_rsa和id_rsa.pub。前者是私钥,后者是公钥。
ssh-keygen -t rsa -C "email@email.com"
- 找到生成的密钥,默认放置在 C:/Users/lenovo/.ssh/ ,用记事本之类的编辑器打开id_rsa.pub,复制内容。
- 把公钥复制到远程端。对于服务器,将复制的内容追加到 ~/.ssh/authorized_keys 。对于github,打开github -> 点击头像 -> Settings -> SSH and GPG keys -> New SSH key ->黏贴key,随便写个title -> 配置成功。
- 对于github,需要额外运行
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
2. 本地和服务器的同步
- 在插件扩展里安装微软官方发布的 Remote-SSH ,安装完后左侧会多一个远程资源管理器的图标,呈电脑状。
- 点击远程图标,点击SSH TARGETS旁边的齿轮图标进行配置,弹出的多行配置文件里选择第一个,确认进行配置。
- 进行如下配置,保存,会在SSH TARGETS下面出现名字为Name的远程机,会一直存在于远程资源管理器里,以后只需右键连接即可。
Host NameHostName 1.1.1.1 # 填写远程服务器的IP或者HostUser username # 填写登陆远程服务器的用户的名字Port 22 # 填写端口,默认为22IdentityFile C:\\Users\\lenovo\\.ssh\\id_rsa #填写私钥路径
- 右键连接到服务器后,点击菜单栏的文件,点击新建文件夹,就可直接选择服务器端的文件夹,而后文件夹就挂载到了左侧上边的第一个图标资源管理器,在这里的更改都会实时同步回服务器。
- 另外,在连接到服务器后,可以点击菜单栏的终端呼出新终端,就可以相当于xshell、putty直接在vscode上执行服务器上的终端命令了。
3. 服务器和github的同步
VSCode默认支持了很多git操作,就在左侧的源代码管理图标中,呈分支图状。
在首次安装git的时候,需要先设置自己的用户名和邮箱(注册github时的用户名和邮箱)。
git config --global user.name "name"
git config --global user.email "email@email.com"
一般而言,本地和github的同步操作如下:
git init # 把这个文件夹变成Git可以管理的仓库
git add . # 把当前文件夹下的所有文件添加到暂存区
git add **.py # 把当前文件夹下的**.py添加到暂存区
git status # 可选操作,查看当前状态
git commit -m "注释" # 把暂存区的文件提交到本地仓库
git checkout master # 切换到master分支git remote add origin https://github.com/name/Project.git # 关联github仓库,一个项目只需关联一次
git push origin main # 把本地仓库推向远程GitHub仓库的main分支
git pull origin main # 把远程GitHub仓库的main分支拉回本地仓库
而在VSCode中,这些命令大多数可以通过更方便的方式来替代。我们一方面可以通过调出终端,使用如上命令来进行同步,也可以通过点击源代码管理图标,直观地对文件夹中地文件进行同步操作。具体来说:
git init 可以通过点击源代码管理图标里地初始化按钮替代。
git add 可以通过在文件旁边点击+号替代。
git commit 可以通过文件上面地消息来替代。
git remote add 通过按Ctrl+Shift+P调出命令行,输入git remote add,再进一步输入https://github.com/name/Project.git,再输入origin,完成绑定
git push 通过按Ctrl+Shift+P调出命令行,输入git push
git pull 通过按Ctrl+Shift+P调出命令行,输入git pull
git checkout 通过点击左下角地分支名字来更换
另外要注意:
- 一般上传流程是 add、commit、push,在这之前需要先上去github新建项目。
- 在同步过程中如果遇到了和github端冲突的问题,则需要先解决冲突,再继续上传。
- 对于本地和github的同步则基本一样,服务器可以作为另一种形式的本地。
4. github操作
这里再补充一些github同步的操作。
# git remote管理
git remote -v # 查看现有remote的url
git remote rm origin # 删除remote的url
git remote add origin url # 增加url到remote
# git 分支管理
git branch -r # 查看远程分支
git branch # 查看本地分支
git branch test # 创建本地分支test
git checkout test # 切换本地分支test
git push origin test # 分支推到远程分支test
git branch -d test # 删除本地分支test
5. 总结
目前VSCode的使用感受还不错,基本可以替代掉xshell和winscp,并可以实现多平台较好的同步。在与github的同步中,需要小心谨慎的做好版本管理,不要误删文件。一般需要每有一次较大改动就要push一次,并且要充分利用好branch分支功能。
【软件使用】VSCode的服务器和github同步相关推荐
- Linxu服务器文件双向同步 rsync+sersync 详细讲解
文章目录 Linxu服务器文件双向同步 rsync+sersync 基础信息 安装 rsync 安装 配置 根据配置文件创建相应的目录.文件.防火墙规则 创建需要同步的目录 创建同步用户 防火墙 启动 ...
- 爱数之介质服务器及介质同步技术
爱数备份产品都包含了很多模块,介质服务器就是其中之一,它担负着及其重要的任务.下面从介质服务器的原理.虚拟介质池和介质同步这几个方面来了解 ------------------------------ ...
- Vscode 与服务器建立远程连接(ssh)
想实现本地编写python代码并在服务器运行,可以使用vscode中的远程连接,下面是详细步骤: 注意在做后续所有事情之前,首先需要保证服务器和本地的ssh能正常连接.检查方法是使用xshell等软件 ...
- 怎么网络同步计算机的本地时间,VBA实现本地计算机时间与网服务器时间的同步...
时 间:2018-04-04 18:56:17 作 者:摘 要: VBA实现本地计算机时间与网服务器时间的同步. 正 文: 电脑时间走时不准是出了名的.它一般是以廉价的振荡电路或石英钟为基础,每 ...
- 介质服务器作用,爱数之介质服务器及介质同步技术
爱数备份产品都包含了很多模块,介质服务器就是其中之一,它担负着及其重要的任务.下面从介质服务器的原理.虚拟介质池和介质同步这几个方面来了解 ------------------------------ ...
- unet服务器向客户端发消息,unet 服务器客户端不同步
unet 服务器客户端不同步 内容精选 换一换 客户端IP指的是访问者(用户设备)的IP地址.在Web应用开发中,通常需要获取客户端真实的IP地址.例如,投票系统为了防止刷票,需要通过获取客户端真实I ...
- 两台服务器之间数据库同步
SyncNavigator是一款功能强大的数据库同步软件,适用于SQL SERVER, MySQL,具有自动/定时同步数据.无人值守.故障自动恢复.同构/异构数据库同步.断点续传和增量同步等功能,支持 ...
- rsync+sersync实现两台web服务器的实时同步
rsync+sersync实现两台web服务器的实时同步 一.环境准备 主服务器: 从服务器: 二.分别安装配置rsync,并测试手动免密备份 这里大概讲一下rsync的工作方式和原理 从服务器(备份 ...
- 使用tomcat软件在本地搭建服务器
首先介绍eclipse开发JavaWeb项目需要配置的相关环境,使用tomcat软件在本地搭建服务器,然后再在eclipse环境下配置tomcat: 第一步:使用tomcat软件在本地搭建服务器,这个 ...
最新文章
- SpringBoot-04:SpringBoot在idea中的俩种创建方式
- Ruby --- gem(RubyGems)安装与使用
- 深度神经网络:WX+B vs XW+B,作者原文已经删除,转载过来了~~~
- [pytorch、学习] - 3.7 softmax回归的简洁实现
- 不止代码:恐狼后卫(ybtoj-区间dp)
- AOJ 0525 Osenbei【穷竭搜索】
- python 改变词典顺序_按词典顺序排列的功率集
- 【Java】IntegerCache的妙用和陷阱
- Python循环完成剪刀石头布游戏
- [Asp.net core]使用Polly网络请求异常重试
- linux网卡为啥叫ens160这些,centos8将网卡名ens160修改为eth0
- 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例28
- 常见的协议号和端口号
- win10安装VS2015
- Ubuntu系统截图方法
- linux增加分区大小,新增硬盘扩容Linux下的分区大小
- 华为机考 叠积木 python (以及处理输入)
- 数据结构-BF算法和KMP算法
- 鸿蒙os下载到电脑上,华为鸿蒙os系统官网
- Spring session redis ERR unknown command 'CONFIG'