13

我在 PhpStorm 有一个项目。我按下upload to ftp根文件夹,所有文件都上传到服务器。然后我在这个项目上工作——比如说修改一个文件。当我按upload to ftp现在时,我看到所有文件正在再次上传- 但在上次上传后它们没有被修改。

我不想自动上传,也不想显式保存操作。中的设置覆盖最新文件settings → deployment → options选中

与已部署同步不是解决方案,因为项目是巨大的蚂蚁,按内容比较每个文件完全浪费资源和时间。

如何只上传修改过的文件?

4

5 回答 5

10

转到File > Settings,在Project Settings上选择Deployment。添加 FTP 服务器并将其标记为默认值。单击确定关闭对话窗口。

现在转到工具 > 部署 > 选项。选择您看到的操作触发器: 将更改的文件自动上传到默认服务器

我希望它有帮助!

http://www.jetbrains.com/phpstorm/webhelp/uploading-and-downloading-files.html#automaticUploadOnUpdate

于 2014-09-13T22:19:56.987 回答
2

使用 PHPStorm (Ctrl+K) 提交您的项目

它将打开一个包含许多选项的窗口,以简化您的提交

此外,还有“提交后”选项卡,您可以从之前配置的默认服务器(工具>部署)中选择将文件上传到

这样,在 VCS 的帮助下,只有更改的文件才会上传到您的服务器

于 2019-03-27T21:12:25.780 回答
1

首先,我不建议将 FTP 用于需要安全性的项目。(通过 FTP 连接,密码和数据以非加密格式传输,因此很容易被盗。唯一的例外是对上​​传的文件(可能是包)进行签名,并且在对它们进行任何操作之前在服务器上检查数字签名。 Afaik。PHAR它的默认库,但是如果将签名放入文件名中,加密和签名任何 zip 文件都相对容易。不要将数字签名与 md5 或 sha1 哈希混淆。)

通过 FTP 的简单项目,我使用git-ftp

安装(通过 Windows,但我认为它也适用于每个系统)

git bash
$ cd ~
$ git clone https://github.com/git-ftp/git-ftp git-ftp.git
$ cd git-ftp.git && chmod +x git-ftp
$ cp ~/git-ftp.git/git-ftp /bin/git-ftp

配置

.git/config
      [git-ftp "myscope"]
        url = ftp.domain.com/subdir
        user = user
        password = pass

初始化

git-ftp catchup -s myscope //by this the FTP and the local copy must be in perfect sync

上传

git ftp push -s myscope

您必须使用.git-ftp-ignore文件来定义您不想上传的内容。

我通常将 git-ftp 与 git merge 和提交挂钩一起使用。

.git/hooks/post-commit
.git/hooks/post-merge

    #!/bin/sh
    branch=`git rev-parse --abbrev-ref HEAD`
    if [ $branch == "master" ]; then
        git ftp push -s myscope
    fi

有了这些 git-ftp,主分支的任何更改都会自动上传。Ofc 我只将 master 分支用于发布,对于开发我使用另一个分支......

于 2014-02-03T04:04:13.283 回答
1

最佳实践约定: PHPStorm 是围绕通常认为的“最佳实践”而设计的。考虑到这一点,部署的许多方面最好通过有一个版本控制系统来利用。当您通过 PHPStorm 提交时,提交对话框提供选项以将更改列表中的文件显式部署到特定服务器(默认值是可配置的)

备选方案 1: 有一个“与 Deployed to yourhost同步”选项,可用于将远程服务器文件与本地文件进行比较。“项目窗格”->(右键单击文件夹或文件)->部署->“与部署同步...”

此选项启动一个差异应用程序,该应用程序比较您选择的文件/文件夹并提示应该采取什么行动(即同步方向到/从部署服务器)

我只在目标文件集上使用此功能,因为它对大型文件集(例如我的整个项目)存在性能问题。

备选方案 2: 对于小文件集。使用“显式保存”选项暂时打开自动部署,然后重新保存文件。

于 2013-08-08T16:25:27.617 回答
0

选中自动上传后,即使在我完成对 PHP 文件的所有更改之前,甚至在我单击“保存”按钮并导致脚本文件不完整之前,它也会自动上传文件。它还在其他标签页中上传文件。看起来 PhpStorm 中的上传没有精确的控制。

于 2016-01-09T19:17:34.383 回答