SVN

svn 分支开发推荐方法

2015-09-22  本文已影响534人  ytxing

svn 分支开发推荐方法

1、基本工作循环

检出工作副本

svn co repo/url/project/trunk

修改、编译、调试、验证

更新工作副本

svn up

解决冲突(交互解决/延迟解决/自动解决)
编译、验证

提交

svn ci -m "comment"

2、创建分支

直接从trunk远程拷贝

svn cp repo/url/project/trunk repo/url/project/branches/new_branch_name -m "comment"

3、保持分支同步

在分支工作副本执行

svn merge repo/url/project/trunk

解决冲突、编译、调试

提交

svn ci -m "comment"

4、合并回trunk

在分支工作副本再次同步trunk

在干净的trunk工作副本执行

svn merge --reintegrate repo/url/project/branches/your_branch_name

编译、验证

提交

svn ci -m "comment"

5、其他技巧

短url

svn 1.6之后可以使用^表示仓库根目录
仓库根目录可以使用svn info查看

svn cp ^/project/trunk ^/project/branches/new_branch_name -m"comment"

查看版本历史以及提交文件

svn log -v target/file

可以看到每次提交的具体文件(如果是新拷贝,还可以看到拷贝来源,比如新创建的分支就可以看到是从trunk的什么版本创建的等)

查看文件改动责任人

svn blame target/file

可以看到每行是谁提交的,在什么版本提交的。如果对该行代码有疑问,可以快速找到作者。

查看改目录的merge信息

svn mergeinfo ^/project/trunk [^/project/branches/]

可以看到trunk已经merge到分支的版本,参数反过来,看到的是branch已经合并到trunk的版本。
如果所在目录是第二个参数对应分支的工作副本,可以省略。

别人改动的大文件,自己没有任何改动,可以略过同步环节(减少运行diff的时间)

1、先本地拷贝过来

cp clean_trunk/target/big/file workcopy/target/big/file

2、标记为已合并

cd workcopy
svn merge --record-only -rleft:right ^/project/trunk/target/big/file target/big/file

3、合并其他小文件

svn merge -rleft:right ^/project/trunk

4、检查无误后提交

终极技巧

多使用svn help

上一篇 下一篇

猜你喜欢

热点阅读