phpstrom使用svn创造分、支合并到发布流程
一 创建分支branches
弹出下面对话框
repository location:选择库的位置,也就是trunk主干线地址,在copy to中选择要创建的分支地址,在branch or tag后面的按钮点击选择库文件
由于是第一次创建分支,这里的branch locations里面没有信息,我们要把branches路径添加进去
点击 + 号
选择branches,点击ok
点击ok 选择好base url,输入我们要创建的分支名称(这里随意,为了形象的表达我们的分支版本,这里用的v1.0,即branches分支的第一个版本),记得comment里面要填写信息,类似于 从trunk版本3创建分支到branches v1.0
然后在PHPstorm里面检出branches v1.0代码
点击添加一个 svn链接地址
点击checkout,这时候就可以检出一份 branches v1.0的工作副本的代码到本地
二 合并分支到主干
我在branches v1.0上修改了一个文件
在trunk上也在相同的位置修改了这个文件的内容,目的是为了创建一个冲突,一会测试下冲突解决
分别提交各自的修改
在合并之前首先update一下,保证是最新的内容
接下来开始合并
在trunk下点击 vcs->merge from
下方会有一个
点击configure branches出现如下
这里就是我在创建分支增加的 branches location,选中,点击 ok
点击merge from
选择从branches合并过来,再弹出的窗中选择 v1.0
点击ok后这里出现这个对话框,第一个是合并全部,第二个是快速选择合并我们使用第三个 select with pre-filter 选择增量合并,即只合并分支中增加的
在弹出的对话框中,可以看到刚才我们修改提交的内容和版本号
选中,点击 merge all
合并开始,弹出对话框提示有冲突,这时候需要解决冲突
点击merge 出现了左右树,左面开始依次是 trunk修改部分,最终结果,branches修改部分,这里我们需要的是将branches的内容所以点击了branches的添加按钮 “<<” ,叉掉trunk的修改 “X”
弹出 save and finish
提示合并成功,提交我们的合并(commit)这里别忘了写上描述信息,是很重要的记录依据(当我们遇到冲突的时候 chang list会自动创建一个merge from branches的临时chang list)
当我们合并完成后记得删除掉这个changlist
这时候如果branches v1.0没有用了,我们可以删除掉
我们想要查看合并记录,可以使用 show history或者下面这个
三 发布到正式环境
分支branches已经合并到了我们的主干trunk上,这时候我们可能需要发布到正式环境,在phpstrom中貌似没有 show log导出功能(或者是有,我没发现)
这时候可以使用 tortoisesvn工具,很简单,右击svn选择show log,很明显 6开始是我们合并进来的改动,如果有更多版本则按住ctrl点击选中
选中除了/cookbook/trunk以外的所有文件,右击选择export导出到一个文件中
将导出的文件通过ftp工具上传到正式环境上即可,注意文件目录要一致!
为什么要记录合并的版本号?
比如我们在branches v1.0上已经合并到了刚才的6版本后,我们还要继续做开发,当我们再次合并的时候只需要6-合并的版本即可