代码合并操作步骤(草稿):
一、以admin为例
1. 在本地svn目录,更新全部代码
2. 找到昨天上线的版本号,如1.9.2
3. 把branches中admin下1.9.2版本的代码合并到trunk:
a) 在trunk上,右键SVN Merge \ 选择第二个单选框(ReIntegrate a branch) \ 选择 branches中对应的版本\ …
b) 加注释:merge 1.9.2
4. 打tag:
a) SVN branch/tag
b) TO URL中,使用昨天上线日期和版本号,比如 2013.7.30_1.9.2
c) 加注释,使用昨天上线日期和版本号,比如 2013.7.30_1.9.2
5. 将已经上线的版本号,从“未发布版本信息.txt”移到“历史版本信息.txt”中最后一行
6. 从tag合并到branches中所有未发布的版本
a) 在未发布的版本上,分别右键,选择SVN Merge、选择第一项(Merge a range of version)
b) 选择Tag中昨天发布的版本
c) 加注释:merge 1.9.2
d) 如果有冲突,show Log,找对应的开发人员,发邮件出来,建议开发人员从tag中拉取版本合并到branches
7. 最后由SVN 管理者关闭已发布的版本权限。
二、其他 cust、pp同admin操作
三、至于ndb:
1. 从trunk拉一个temp临时版本
2. 将昨天上线版本(1.9.2)与temp版本比较,使用超级牛叉的BeyondCompare工具
3. 先处理绿色部分(1.9.2比temp新增的部分),复制到temp中
4. 然后处理红色的部分,选择“比较”,编码记得选择ANSI,点击中间箭头,更新到temp中
5. 提交temp,加注释
6. 合并trunk与temp版本:SVN Merge…
7. 删除temp
8. 后续操作使用trunk,步骤同admin、cust、pp等。
总体步骤:在纸上写出一个个步骤,便于梳理,以防出错。
1. 从branch合并到trunk
2. 将trunk提交,加注释
3. 从trunk中打tag,加注释
4. 拉取新打的tag到本地(可以跳过本步骤)
5. 列出要合并的所有未发布版本(对每个版本需要做三步:更新、合并、提交,分别记录各步骤完成情况)
6. 在未发布的版本上右键,SVN Merge,选择第一项
7. 记录是否有冲突;
8. 无冲突的话,将合并后的版本提交到SVN;
9. 有冲突的话,将无冲突部分提交,有冲突的文件记录下来,发邮件出来让各自解决。
新建版本步骤:
1. 在“未发布版本信息.txt”中新建最大版本号
a) 最大版本号来自于“历史版本信息.txt”对应项目下的最大版本号 + 1
2. 在trunk对应项目中,新建分支,TO URL 为branches中对应项目的,版本号修改为上述新增的版本号
附:解决冲突的办法
补充说明下,解决冲突的方法是:(我个人总结,不一定是最好的方法,供参考)
1. 用svn打开指定的tag,找到需要解决的文件,保存到本地。
2. 用比较工具找出两边的差异
3. 解决冲突:
a) 如果tag中的版本内容比现在版本多,就需要将tag中的内容补充到现在版本中
b) 如果tag中的版本内容比现在版本邵,一般来说是不需要处理,也就说,现在版本在之前的基础上新增了内容,可以不处理。
c) 经常会看到两边的内容其实是一致的,只是在现在版本被格式化了,导致冲突。这种情况也可以不处理。
大家有什么好的方法,可以一起交流~~