PhpStorm中项目文件夹外的项目设置

时间:2016-05-25 03:03:56

标签: phpstorm

我一直在使用PhpStorm一段时间,虽然我还在学习它的功能,但我会坚持下去。我实际上在四台机器上工作(一台Mac机,一台PC机,一台MacBook机和我的办公室电脑机),我把我的项目保存在一个Dropbox位置,除了我的调试服务器设置只设置到我的主机(Mac)之外因为配置和位置不同 - 特别是在OSX和Windows之间。 (在其他机器上,我使用Google App Engine进行测试)

我的问题是:我可以将项目设置存储在项目文件的单独文件夹中。我还没有找到办法做到这一点,在线帮助并不是很好。如果可以的话,我会在每台机器上保留项目设置,这样我就可以在每台机器上运行完全服务器支持的项目。

1 个答案:

答案 0 :(得分:4)

遗憾的是,没有简单的方法可以更改PHPStorm中的项目配置目录(project/.idea)位置。

我建议不要更改.idea位置,而是使用带有dropbox作为服务器的Git存储库,而不是原始的Dropbox文件。

然后,您可以使用.gitignore从您的不同环境之间的提交中省略.idea文件夹(或其他文件夹)。

通过这种方式,您可以维护环境之间的历史记录以及在出现问题时还原的能力。甚至像github上的其他程序员之间共享开发。一个关键的好处是能够为项目分支进行错误修复,主要版本更新等等。不再需要将整个项目作为备份复制到其他地方,因为Git会为您管理它!

如果您不熟悉Git,使用PHPStorm非常直观,并且在从控制台使用PHPStorm不具备的功能时,有大量帮助主题,指南和在线回答问题提供GUI。 请参阅Git documentation from PHPStorm

首先,您需要安装Git。你不需要任何像GUI这样的花哨,因为PHPStorm将处理大部分内容,它可以安装在任何操作系统上。我还建议将项目移到dropbox目录之外的本地目录中,这样文件就不会与repo和dropbox重叠。

接下来,您需要在计算机上的Dropbox synchronized目录中创建一个裸Git存储库。这只是意味着不检出工作副本,保护文件免受外部更改。 出于解释的目的,我使用SkyDrive代替Windows系统上的Dropbox。

在你的控制台中:

$ mkdir D:\SkyDrive\repos
$ cd D:\SkyDrive\repos
$ git init --bare myproject.git

接下来,您需要使用PHPStorm项目初始化Git。 Import Project into Git

这将在项目中创建一个.git目录,以存储该计算机的历史记录。

现在在项目的根目录中创建一个.gitignore文件。

编辑.gitignore文件并添加以下行。 Ignore Application Configs

添加您不希望在不同环境之间共享的任何其他文件的路径,例如应用程序缓存,会话目录,二进制文件,composer.phar库等。

接下来将文件添加为Git版本 Add files as versioned

您会注意到PHPStorm中的文件名已更改为绿色文本,表示它们是新文件。任何带有蓝色文本的文件都表明它们已被修改。红色文本表示它们尚未添加为Git版本(也称为未分级)。灰色文本文件名意味着它们被忽略,而普通主题彩色文本意味着它们已被提交。

关于Git的一个关键点是它不跟踪空目录。比如忽略文件目录,就像忽略.idea一样。并且需要在其他环境中创建空目录,例如/var/cache,在该目录中创建另一个.gitignore文件并添加行。

*
!.gitignore

这将忽略该目录中的所有文件,.gitignore文件和目录本身除外。

现在我们需要commit当前对Git的更改,并添加一条简短的消息,告知您在查看历史记录后可以轻松参考的内容。 Commit Changes

差不多完成了,现在您需要push~/SkyDrive/repos/myproject.git存储库的更改,也称为remote origin/master(默认情况下)。 push context menu add remote upstream

现在,您的文件及其分支机构由Git管理,只要您pushremote origin存储库进行了更改,它们就可供其他计算机使用。

最后一步是checkout您计算机中的项目。 打开PHPStorm,然后单击从版本控制中签出,选择 Git ,填写存储库位置以及将文件存储在本地环境中的位置(dropbox外部) )并单击克隆checkout from git clone repository

出现提示时,点击“确定”以打开项目并完成,对其进行更改commit,将push更改为remote origin,然后pull来自另一个系统的变化。

按照您喜欢的方式配置项目的设置(或从其他安装中导出它们)。

  

请勿忘记您需要commitpush进行更改   它们可用于其他系统的pull

需要特别注意 - 在从其他系统提取更改之前,请确保dropbox已完成同步,否则可能会导致存储库损坏。

如果发生这种情况,您可以删除dropbox目录中的远程仓库,使用git init --bare repo在前面所述的相同位置重新创建新仓库,并将最新更改推送到该仓库。