本地可以通过 ssh 用户名和密码连接远程服务器,使用什么方式可以同步本地和对应的远程文件( git 版本控制的 Python 项目),使用过 pycharm 的 deployment 功能,但 win 和远程的 linux 文件同步会影响 git 控制(即被修改的文件被git识别为整个文件被修改)。
ps : 本地 win 环境,远程服务器是 Linux 环境。
1 ecosky 2017-03-24 10:42:20 +08:00 fabric ,可以研究下。 |
![]() | 2 jiangbingo OP pycharm 的 deployment 功能不知大家有没有使用过? |
![]() | 3 jiangbingo OP @ecosky 最主要的问题是 git 版本控制,现在是使用终端 SSH 连接到远程 VM ,然后在终端上使用 VIM 编辑 python 项目文件太费力( VIM 使用不熟练),如果在本地 win 环境编辑文件上传到 VM ,会影响整个文件的 Git 版本管理。也许我还是在本地安装 linux 系统比较好。。。 |
4 codingyue 2017-03-24 10:52:08 +08:00 via iPhone ![]() sshfs ,挂载远程文件到本地 windows 。 |
![]() | 5 wudanyang 2017-03-24 10:54:25 +08:00 难道不是建个分支? |
6 besto 2017-03-24 10:58:35 +08:00 |
![]() | 7 jarlyyn 2017-03-24 10:59:59 +08:00 都没有明白你的问题。 要修改远程的文件,用 filezilla 或者挂载为文件夹 要本地有一整套环境,同步运行测试,用 Rsync 正常开发,用代码版本控制。 |
8 SpicyCat 2017-03-24 11:00:10 +08:00 ![]() 主要原因是 win 和 Linux 的换行符不同, Win 是 CRLF, Linux 是 LF 。你在本地修改完文件,上传到 Linux 服务器,再用 dos2unix 转换一下就行了。 |
![]() | 9 likuku 2017-03-24 11:03:42 +08:00 win 下直接用 git 不允许么? git 只要有 ssh 就可以用的嘛。 |
![]() | 10 likuku 2017-03-24 11:05:29 +08:00 |
![]() | 11 likuku 2017-03-24 11:06:37 +08:00 @besto 自动缩进...又是 tab 和 space 的圣战了..现代化编辑器,推荐用 soft tab 绑定为 4 space. |
![]() | 12 pubby 2017-03-24 11:11:16 +08:00 phpstorm 一直用 deployment 功能实时同步文件到测试机, jb 系的 ide 应该都可以。 Deployment / Configurations 增加一个 server , sftp 模式,用你的 ssh 上好连接到你的测试机,设好路径之类的 Deployment / Options 里面设置一下,大部分都可以勾上,我选的是 "Upload changed files automatically to the default server : Always" 然后在自己电脑的 phpstorm 上开发,测试机上测试就行了,文件都会自动同步上去。 git 用 phpstorm 内集成的 |
![]() | 13 pubby 2017-03-24 11:12:27 +08:00 /ssh 上好 /ssh 账号 / |
![]() | 14 pubby 2017-03-24 11:15:56 +08:00 至于说测试机上 git 控制受影响,出问题你直接在测试机上丢弃那些文件的修改,重新 pull 一下好了 |
![]() | 15 wenning 2017-03-24 12:13:26 +08:00 pycharm 里面设置 line separator, windows 的 git 也设置下,这样同步过去就没有问题了。 只不过还是推荐是用 vagrant 虚拟机,或者直接上 linux |
![]() | 16 xuboying 2017-03-24 12:28:44 +08:00 |
![]() | 17 cy18 2017-03-24 12:37:56 +08:00 git push 有什么问题? |
![]() | 18 ncisoft 2017-03-24 12:57:32 +08:00 via Android realsync 炒鸡好用,直接通过 ssh 同步文件夹, 1 、指同步变化的文件夹; 2 、自动记忆 ssh 帐号密码; 3 、可设定排除项,.git 默认不同步; 4 、只同步变化的文件,通过类似 inotify 技术做监控; 5 、实效性很棒; 6 、 win /linux 多平台支持 |
19 r0okit 2017-03-24 13:04:35 +08:00 我工作中就是 windows 上 pycharm Deployment 到 linux 测试机上,需要代码同步的时候 到测试机上 git reset --hard ,git clean --df , git pull xx/xx 这样就没有代码覆盖问题了 |
![]() | 20 jiangbingo OP @r0okit got it!! |
![]() | 21 jiangbingo OP PS :为啥要分开修改和提交代码呢,因为公司有防火墙,远程 Linux 只有命令行, win 上 make 等操作执行不了。 |
![]() | 22 jiangbingo OP @besto 感谢,我先试试 |
![]() | 23 jiangbingo OP 感谢诸位。 |
![]() | 24 jiangbingo OP @r0okit git pull xx/xx 这一步是从哪儿 pull 的代码? |
![]() | 25 jiangbingo OP Pycharm 在 win 上如何默认设置为 unix 下的 LF ? |