本地可以通过 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 1
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 1
主要原因是 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 ?
|