在phpstorm中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提交图片等非php或html的文件问题
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提交了