[原]SVN代码管理

[原]SVN代码管理

1.SVN工程结构

branches
     zhangsan
     lisi
     wangwu
tags
     project-release
trunk
     project-trunk
branches:下为trunk的分支,以开发者的名字全拼命名,各开发者可以checkout自己的分支并行开发互不影响
tags:从trunk迁出的稳定版本,用于发布
trunk:工程主干
 
2.开发者提交代码
  当分支中的某位开发者完成了一个功能的开发或者修复了一堆BUG后,需要将分支的代码提交到主干,以张三的分支作为例子,步骤如下:
a.张三需要在自己的电脑上同时拥有project-trunk代码和zhangsan的分支代码
b.update project-trunk和zhangsan,保持代码是最新的
c.将project-trunk合并到zhangsan,参考命令:
cd ./zhangsan     进到zhangsan的目录
svn merge —dry-run zhangsan_url project-trunk_url     测试merge,如果没问题执行下面命令
svn merge zhangsan_url project-trunk_url     合并project-trunk到zhangsan
svn ci -m “记录日志" 提交合并后的代码并记录日志

d.将zhangsan合并回project-trunk,参考命令:

cd ./project-trunk     进到project-trunk的目录
svn merge —dry-run project-trunk_url zhangsan_url     测试merge,如果没问题执行下面命令
svn merge project-trunk_url zhangsan_url     合并zhangsan到project-trunk
svn ci -m “记录日志"     提交合并后的代码并记录日志

这时zhangsan和project-trunk的代码就同步了,如果在测试merge的时候出现问题,可以通过下面的命令回退:

svn revert -R file_path

 补充几个svn命令:

svn info    查看svn信息
svn st       查看svn更改状态
svn log     查看日志
svn up      更新代码
svn resolve --accept working -R .    解决冲突 “.”是冲突路径

注意:开发者提交代码到主干的时候一定是先从主干同步代码到自己的分支,再将自己的分支合并回主干。