在phpstrom中svn的使用

Posted 小king哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在phpstrom中svn的使用相关的知识,希望对你有一定的参考价值。

   

  目  录

1.搭建svn环境

  1.1搭建svn服务端

    1.2创建svn用户和密码

2.开始在phpstorm中链接svn

  2.1打开Subversion 

  2.2 输入svn地址

  2.3选择导出文件,进行文件的检出

  2.4报错处理

  2.5本地检出 

  2.6进行项目检出

  2.7查看VCS目录

  2.8上传文件

  2.9更新文件

3.模拟多用户更新,上传文件

  3.1模拟多用户登陆

  3.2登录新的用户更新项目

  3.3编写文件提交更新

  3.4展示更新改变

  3.5合并svn中两个项目

  3.6查看本地历史记录

  3.7show Changes

    3.8查看版本历史记录

4.提交问题解析

  4.1两用户修改同一文件问题

  4.2提交图片等非phphtml的文件问题

 

 1.搭建svn环境

 

  1.1搭建svn服务端

  在搭建好svn服务器端以后,我们要创建新的repositories,建好之后会产生一个URL地址,一定要记下来。

 

     

 

   1.2创建svn用户和密码

  建好自己的库以后,创建用户和密码,然后别的用户可通过他的电脑连接到你的电脑上的服务端。

 

  

  基本的svn环境就搭建好了

 

2.开始在phpstorm中链接svn

 

  VCS是版本控制系统,svn是版本控制器

 

    2.1打开Subversion 

  打开PhpStorm,找到工具  VCS—>Checkout from Version Control—>Subversion ,点击进入。

 

  

 

   2.2 输入svn地址。

   点击页面中的“+”号,然后输入svn地址(就是上面svn建库的时候会产生一个URL地址)。点击OK。

 

 

 

  2.3选择导出文件,进行项目的检出

  这时候我们就能浏览到svn服务器上文件列表。选择我们要导出的文件,点击Checkout,进行文件的检出(导出)。

 

  

 

  2.4报错处理

  点击checkout,如果出现  Executable is not specified(未指定可执行项目) 提示;或者出现Connot run program "svn"(……): CreateProcess    error=2,……   的报错,我们点击

 

  

 

  点击设置

 

  

 

  点击确定即可。

 

  2.5本地检出

   选择一个本地的目标目录,点击OK。选择需要更新到本地的版本,点击OK。

 

  

 

  选择svn服务器版本,点击OK

 

  

 

 

  然后会弹出账号密码输入框

 

  

 

   2.6进行项目检出

  输入用户名和密码后,点击确认,进行项目检出。第一次更新可能时间会长一点。耐心等待。完成后会询问你是否打开该项目,点击确定,进入项目。到此为止项目已经更新到本地。

 

   

 

  2.7查看VCS目录

 

  

 

  接下来是一张汉化的图片,与上图内容一致,基本上英文都有翻译

 

  

 

  下面是一些vcs具体的子目录

  

    

 

  svn提交的时候可点击显示历史记录,查看发生改变的文件,选择性进行提交(有些文件在提交的时候是不需要提交的,所以可原则性提交)

 

  

 

  •对上述svn的使用详解

    ①.点击create External,创建新的目录

     

    ②点击Commit目录,进行项目的提交(效果图)

    

    ③点击更新项目,将svn中的目录更新到本地(一些不懂的文章其他地方都有解释)

    

    ④.点击合并项目,进行svn中两个项目的合并

    

    ⑤.点击edit properties

    

    ⑥点击set properties

    

    ⑦点击revert进行恢复本地文件(有些文件已经更新,你可以进行恢复)

    

    ⑧点击compare whit branch,进行与某个项目的比较

    

    选择进行比较的项目

    

    比较产生的文件差异

    

    ⑨.点击显示历史记录(显示的其实就是svn管理器,下面的svn提交的精华就是)

    ⑩.branch or tag创建新的标签

    

    11.relocate,进行文件的移动

    

    

  •svn提交的精华(点击下图右下角图标弹出svn管理器,查看历史记录,local changes,观看哪些文件发生了改变)(基本上每个按钮的功能图中都有解释)

  

 

  

 

 

  

 

  

 

   2.8上传文件

  当你的项目有改动的时候,你需要上传改动的文件点击VCS↑

  举例:我们新建一个NewfilesController.class.php 和新建文件夹Newfiles以及在该文件夹下面建index.html,然后上传提交到svn

 

  

 

  phpstorm会根据svn当前版本检测到你改动的文件,你需要勾选上传你改动的文件,并且在下面填写你的提交注释内容(用来标记你什么时候提交了什么),然后点击commit进行提交。

 

 

  2.8更新文件

   当第二天你要进行项目的时候,你需要先点击VCS↓进行更新

 

  

  会弹出更新提示框,点击确定,就会更新到与svn中相同的最新版本。

  

3.模拟多用户更新,上传文件

 

   3.1模拟多用户登陆

  在文件->设置->版本控制器中  删除保存的登录记录

 

  

 

  然后点击VCS↓ , 参照上面检出svn版本,此时会弹出一个登录框让你登陆另一个证号密码

 

  

 

  然后输入在svn服务器中设置好的其他的用户名密码,进行登录,更新

 

  

 

  可以看到新的用户检出的文件名为phpstormchenkout1。

 

   3.2登录新的用户更新项目

  登录新的用户更新项目,我们发现上个用户上传的NewfilesController.class.php 和文件夹Newfiles以及在该文件夹下面的index.html全部更新出来了,说明上一个用户提交没有问题,咱们更新也没问题

                                            

 

  我们可以发现上一个用户提交的文件以及文件夹均可以更新出来(我们也可以用这个证号进行上传,用另一个证号去更新,发现都能正常更新)。

 

  3.3编写文件提交更新

   我们进行文件的编辑以及提交,我们对Newfiles文件进行编写然后提交

 

  

 

  3.4展示更新改变

  切换登录用户,进行更新,更新完成之后,会提示什么地方发生了改变

 

  

 

 

  

 

 

  

 

  

 

   

 

  3.5合并svn中两个项目

 

  

 

  点击,选择合并svn中的两个项目

 

  

 

  3.6查看本地历史记录

 

  

 

  

  把现在的版本和历史版本进行对比,就可以发现我们做出了哪些改动(上述代码仅供参考,只是为了改变代码,从而进行提交和比对)

 

  3.7show Changes

  把自己文件中的代码与SVN中的代码进行对比,查看我们文件中发生了哪些改变

 

  

 

  把文件夹与SVN中的文件夹进行对比,查看我们文件发生了哪些改变

  

 

  3.8查看版本历史记录

 

  

 

  显示版本记录

  

  可对比查看文件差异

 

 

  

  

 对比的差异可能有很多地方,自己的项目自己可以对比一下,然后滚动滚动条,你会发现只要有差异的地方都会显现出来。

 

 4.1两用户修改同一文件问题

  

 

  如果A和B用户同时写了function2(){},B用户先提交,A用户在提交的时候会提示有冲突(这种情况,二者应该沟通,进行适当修改)

 

  4.2提交图片等非php或html的文件问题

  

  问题解析:当我们项目中增加一个图片文件(非php或者html文件),等我们进行提交,或者查看local changes ,会显示7.jpg文件在未加入版本控制文件中(有时候也不会显示在未加入版本控制的文件中),这个时候我们要提交该文件的时候,需要先右键点击该图片文件,然后加入vcs,之后我们提交的时候,就可以正常提交了。

  

  

  该文件名由灰色变成绿色,我们就可以进行svn提交了

  

以上是关于在phpstrom中svn的使用的主要内容,如果未能解决你的问题,请参考以下文章

在PhpStrom中配置Docker作为本地开发环境

PHPStrom使用SASS,SCSS和Compass

微信开发使用webstorm&phpstrom 配置

phpstrom 快捷键

PHP编辑器PhpStrom运行缓慢问题

sublimeText3和phpstrom使用