Colderleo's blog Colderleo's blog
首页
Linux
C++
Python
前端
工具软件
mysql
索引
关于
GitHub (opens new window)

Colder Leo

热爱代码的打工人
首页
Linux
C++
Python
前端
工具软件
mysql
索引
关于
GitHub (opens new window)
  • vscode插件、主题、快捷键、调试、魔改便携模式
  • 好用软件集锦
  • 网站收藏、ref-tools、好用的网站
  • Visual Studio插件和设置-注意不是vscode
  • Tablacus Explorer
  • ezpdf-手机pdf横屏阅读神器
  • 免费SSH工具
  • 用markdown搭建个人博客
  • git、GitHub用法
  • idea自动上传-winscp实时文件夹同步
    • 一、idea自动上传(推荐)
    • 二、winscp的实时文件夹同步(不用idea时推荐该方法)
    • linux上安装samba
    • 设置共享文件夹
    • 通过window挂载share文件夹
  • windows卸载程序的注册表项
  • 1-windows装系统-设置-登录信息
  • word模板设置题目和答案-答案可隐藏
  • 正则表达式
  • MediaCoder 视频压缩参数
  • MinGW
  • 免费专利检索网站
  • 工具软件
gaoliu
2021-10-06
目录

idea自动上传-winscp实时文件夹同步

想把windows上的本地项目文件夹实时同步到linux上,可以用以下三种方法。

# 一、idea自动上传(推荐)

https://www.rms360.top/2019/03/27/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/idea%E8%BF%9C%E7%A8%8B%E4%BB%A3%E7%A0%81%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5/

# 前言

开发时一般的平台都是windows,但windows对开发极其不友好,一般都会在本地开启虚拟机,安装上linux环境进行项目的部署测试。下面介绍一种windows主机与linux虚拟机代码同步的方法。

# 前置条件

在windows与linux中都有着同一份代码。

# 配置步骤

# 1、打开windows主机上的idea,选择tools->deployment->configuration

选择sftp连接。sftp和ssh使用同样的用户名密码和端口号。端口号默认是22,但是为了安全起见可能被修改成其他端口。

# 2、点击右上方三个点,新建一个连接

  1. 连接类型:sftp
  2. 依次填写虚拟机信息
  3. root path项选中linux虚拟机中的项目位置
  4. 打开mapping面板
  5. 选择deployment path为根路径/
  6. 在excluded paths 添加要排除的目录(我觉得只选本地的就可以)
  7. 确定保存

# 3、选择tools->deployment—>auto upload使其处于开启状态

此时,在window主机对项目所做的任何修改一旦被保存都会被实时推送到虚拟机中。一旦在linux虚拟机中项目功能验证通过,开始推送到git远程仓库中。

注 该方法可以避免由于windows系统所带来的一些麻烦,同时能利用windows图形化优势。当然,有钱的话直接买mac更合适。

该方法同样适用于远程服务器,并且所有的jetbrains家族的开发工具都支持该操作。

# 配置远程解释器,调试

这个还没做。 https://blog.csdn.net/lishanlu136/article/details/82683641

# 二、winscp的实时文件夹同步(不用idea时推荐该方法)

用第三种samba挂载文件的方法将linux上的文件夹挂载到windows上之后,用idea直接打开,但是因为网速太差,idea中修改文件后保存非常卡,不太好用。后来使用了winscp的同步功能:

winscp左边是windows的目录,右边是linux的目录,先把linux上的工程拷到windows上,然后在winscp中两边同时打开,再点主界面上的同步按钮(第二个是从windows同步到linux)。然后winscp会弹出一个监控窗口,当修改本地文件时,winscp会监控到文件被修改,然后立即将修改的文件上传至linux。

(开始的时候有个奇怪的现象,就是winscp可以连上linux也可以读取,但是文件修改不了,后来发现linux项目文件夹下有个.user.ini文件,这个文件rm删不掉,最后用 chattr -i .user.ini解除锁定后删掉了。参考 https://www.landui.com/help/show-4304.html ,再后面winscp就可以正常写入了。)

winscp同步的时候,一直开着监控窗口。它可以设置排除哪些文件或文件夹不同步。监控窗口,点“传输设置,(文件掩码旁边的)编辑”,进入编辑文件掩码窗口。在里面输入不想同步的文件夹,如``.idearuntime`,还可以在传输设置界面勾选==不同步隐藏文件==,非常方便。另外还能把传输设置保存为预设方案,下次直接用。

按照该图设置生成的掩码为:

| *_tmp_*; application/.htaccess; .idea/; runtime/; public/
1

# 三、使用samba将linux文件夹挂载到windows下-映射网络驱动器(比较慢)

http://blog.chinaunix.net/uid-29281850-id-5192260.html

这篇文章写得很好,不过它设置用户名密码的部分不是很清楚。

https://baijiahao.baidu.com/s?id=1619078525576466832&wfr=spider&for=pc

这篇文章详细讲了samba怎么设置用户名密码。

# linux上安装samba

  • 使用root登录(ubuntu的话,使用sudo操作) ,然后 执行:yum install samba

  • 创建一个linux用户,用户名设置为samba(也可以设置为别的)useradd samba 。这里不需要设置密码

  • 使用samba的命令创建一个同名的用户:pdbedit -a -u samba 该命令会提示输入密码。

# 设置共享文件夹

  • 假设要共享的文件夹为 /www/wwwroot,修改其权限为777
chmod -R 777 /mnt/share
1

这里-R表示将其子目录的权限也都递归地改为777

  • 修改smb.conf配置文件,在smb.conf末尾添加一段配置,用于共享上面的文件夹。

    vi /etc/samba/smb.conf
    
    添加下面的代码:
    [wwwroot]
        comment = Samba's service #这句是注释,可以不要
        path = /www/wwwroot
        public = no
        writable = yes
        valid users = samba
        write list = samba
    
    
    [wwwroot]是共享名,在windows访问的时候,显示文件夹名称为wwroot
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
  • 关闭selinux。先查看selinux是否开启了:getenforce。如果是Disabled,就表明没开,如果开了,那就关闭它:网上找永久关闭的方法。(不关闭可能会出现只能访问目录,无法访问文件的问题)

  • 启动samba服务:

    systemctl enable smb.service
    systemctl enable nmb.service
    systemctl restart smb.service
    systemctl restart nmb.service
    
    1
    2
    3
    4
  • 设置samba网络通过防火墙 (如果使用了阿里云服务器,还需要到管理页面开放对应的端口)

    #下面的等号两边最好不要加空格
    firewall-cmd --permanent --zone=public --add-service=samba
    firewall-cmd --reload 
    
    1
    2
    3

# 通过window挂载share文件夹

假设linux的ip地址为47.94.186.23,打开一个文件夹,在地址栏输入 //47.94.186.23 接着会提示输入用户名密码。输入该密码就ok了,像访问windows的共享文件夹一样,里面会显示wwwroot这个共享文件夹。

打开我的电脑,点击映射网络驱动器,输入//47.94.186.23/wwwroot,可以像映射windows的共享文件夹那样将其映射成一个本地磁盘。

编辑 (opens new window)
上次更新: 2023/05/07, 17:27:54
git、GitHub用法
windows卸载程序的注册表项

← git、GitHub用法 windows卸载程序的注册表项→

最近更新
01
通过模板实现结构体成员拷贝-按成员名匹配
05-07
02
c++17通过模板获取类成员的个数
05-01
03
avx-sse切换惩罚
04-30
更多文章>
Theme by Vdoing | Copyright © 2019-2023 Colder Leo | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×