Phpstorm:使用git分支和远程部署

时间:2014-10-03 14:34:57

标签: git phpstorm git-branch

我有一个PhpStorm项目链接到我设置自动部署的远程服务器(VM),所以每次修改和保存文件时,它都会自动上传到该服务器。 现在我想在这个项目上使用GIT。 我的工作流程应如下: - 处理本地副本 - 保存并自动上传到开发服务器 - 测试(在开发服务器上打开网页) - 如果没问题,请从本地副本提交。然后推等......

我的问题是:如何与分支机构合作?我的意思是,我知道在切换分支时,我工作的目录可以完全改变。 示例:我的分支A包含a.html。我的分支B只包含b.html 如果我在本地切换分支,我的文件夹的内容将会改变。每次切换分支时,PhpStorm都会在我的部署服务器上添加/删除a.html / b.html吗?显然,这不是我想要的。 这些变化将如何反映在部署服务器上,PhpStorm如何管理它? 谢谢你的帮助

4 个答案:

答案 0 :(得分:1)

以防万一有人在寻找解决方案:

Tools > Deployment > Options

取消选中Skip external changes

请注意: 必须选中选项Automatic Upload (always)

答案 1 :(得分:0)

对于这样的事情,你可以采用多种不同的方式。这是一对夫妇。

  1. 在服务器上设置一个cron作业以定期从master中取出,然后你必须为每个新任务使用分支并在它们完成后合并它们,而cron作业将在下一次掌握时处理它。 / LI>
  2. 如果您更喜欢在phpstorm中处理这个问题,可以在.bashrc或.bash_profile中创建一个bash别名来ssh到服务器并执行pull(我将别名命名为'deploy'),然后就可以运行命令了在phpstorm的内置终端。
  3. 我更喜欢第二种方法,因为我不必等待cron做它的事情,我可以看到何时发生错误,例如某种类型的合并冲突。

答案 2 :(得分:0)

我能够通过远程环境打开ssh窗口来解决这个问题。只需创建一个分支并在远程服务器上执行签出即可。现在,您通过phpstorm上传的所有更改都将计为对该分支的更改。您仍然可以在浏览器中保存并查看结果。

答案 3 :(得分:-1)

PHPStorm的GIT只会使用您的本地副本。这与部署无关。 PHPStorm不应在项目中提交自己的配置文件。您可以在Settings -> Version Control -> Ignored Files处查看.idea文件夹和以.iws结尾的文件。当然你还可以添加其他要忽略的文件(比如你自己的配置文件)

如果你在CLI中使用git(而不是在PHPStorm中),你应该创建一个包含忽略PHPStorm配置文件的.gitignore文件:

/.idea
*.iws

PHPStorm只应在部署选项中启用Upload external changes时同步分支交换机,因为GIT是外部的。