SVN主干和分支.docx

上传人:b****6 文档编号:15322314 上传时间:2023-07-03 格式:DOCX 页数:16 大小:814.98KB
下载 相关 举报
SVN主干和分支.docx_第1页
第1页 / 共16页
SVN主干和分支.docx_第2页
第2页 / 共16页
SVN主干和分支.docx_第3页
第3页 / 共16页
SVN主干和分支.docx_第4页
第4页 / 共16页
SVN主干和分支.docx_第5页
第5页 / 共16页
SVN主干和分支.docx_第6页
第6页 / 共16页
SVN主干和分支.docx_第7页
第7页 / 共16页
SVN主干和分支.docx_第8页
第8页 / 共16页
SVN主干和分支.docx_第9页
第9页 / 共16页
SVN主干和分支.docx_第10页
第10页 / 共16页
SVN主干和分支.docx_第11页
第11页 / 共16页
SVN主干和分支.docx_第12页
第12页 / 共16页
SVN主干和分支.docx_第13页
第13页 / 共16页
SVN主干和分支.docx_第14页
第14页 / 共16页
SVN主干和分支.docx_第15页
第15页 / 共16页
SVN主干和分支.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SVN主干和分支.docx

《SVN主干和分支.docx》由会员分享,可在线阅读,更多相关《SVN主干和分支.docx(16页珍藏版)》请在冰点文库上搜索。

SVN主干和分支.docx

SVN主干和分支

SVN - 主干/分支

一个大项目在开发中可能会拆分成几个小项目,分别分去,同时共通的部分再由人做,做完后再统一合并。

同时,在开发中,共通的部分修改后,其它人要保持同步。

这种情况反应到SVN的分支/合并功能上,再贴切不过了。

SVN可以为一个版本库中的内容(主干)建立一个分支.分支和主干完全独立,就相当于把代码再复制一份,重新添加到版本库中。

但SVN提供另一个功能,就是把主干做出的修改合并到分支中,以及把分支修改的内容合并到主干中。

当然,我们也可以把主干的版本库的路径切换到分支上,然后更新,来实现把分支的修改更新到主干;以及修改分支路径来同步主干的修改。

但过程复杂,还容易出错。

SVN的分支功能还提供一些合并的测试,可以在不改动版本路径的情况下完成上面的需求。

示例:

1.将一个整项目建一个分支.

建立时要注意:

1.当前复制源,即专业术语中的"主干(truck)"

2.分支存放的位置.当然,分支也是在SVN版本库中.

3.写上日志.这个大家应该懂的.

4.是否把主干的路径切换到分支.如果勾选了,建立分支后,在主干里做出的修改并提交后,更新会提交到分支上。

主干的版本源内容不会变.

这时我们看一下trunk目录的属性,可以看到它的路径已经变成:

/calc/branches/my-calc-branch了。

为了避免产生困惑。

以及失误。

在建立的时候不要勾上"切换到分支"的选项。

如果勾上了,我们还是切换回去:

注意:

1.主干的目录

2.版本库源路径

这时你便可以在/calc/branches/my-calc-branch分支上开发新的功能,且不会影响到其他成员开发或维护主干的内容。

2.合并主干的变更

也许过了一段时间,原本的/calc/trunk主干可能已经有其他成员陆续修正了一些Bugs,但这时你的分支/calc/branches/my-calc-branch就可以直接套用主干(/calc/trunk)的更新,除了避免重复的工作外,也可以避免版本的冲突,因为多人改同样的文件可能发生冲突。

经常將开发主干(/calc/trunk)的变更透过svnmerge合并至分支(/calc/branches/my-calc-branch)是一个非常好的习惯,这样才不会让你脱离主干(trunk)过久而导致将分支(/calc/branches/my-calc-branch)合并回主干(/calc/trunk)时发生许多冲突。

从主干(/calc/trunk)合并至分支(/calc/branches/my-calc-branch)通常选第1个,也就是[Mergearangeofrevisions]

注意.我们是在分支上使用的Merge功能.因为是要在分支上应用主干的更新.

在Merge的窗口有以下注意事項:

1.合并的来源,由于我们打算从主干(/calc/trunk)合并至分支(/calc/branches/my-calc-branch),所以合并的來源要选/calc/trunk才对!

2.合并的结果会直接与目前「工作目录」(WorkingCopy)做比对,并修改目前工作目录中的所有文件。

因此建议在做合并之前可以将所有尚未commit的档案先commit到版本库,避免不必要的冲突事件发生。

在正式进行合并(Merge)之前,建议先执行Testmerge看看是否会发生什么事!

若无异状则可直接按下[Merge]按钮进行合并动作,这时从主干(/calc/trunk)分支出来的到目前工作目录的版本就会做个比较,然后直接套用变更到你现有的文件、目录或属性里。

 

在合并之后如果没有发生冲突,不代表真的没冲突,所以必须再次对原始码做出验证后才能commit进版本库,建议可参考以下流程:

1.将项目进行建置(Build)

2.如果没问题再对项目进行单元测试(UnitTesting)或手动测试(ManualTesting)

3.如果都没问题再commit目前合并无误的版本到版本库!

3.合并分支到主干

最后我们的my-calc-branch分支已经将新功能开发完成且测试无误,所以要将分支(/calc/branches/my-calc-branch)的最终版本合并回主干(/calc/trunk),这时的手续如下:

从分支(/calc/branches/my-calc-branch)合并回主干(/calc/trunk)通常选第2个,而特别选择[Reintegrateabranch]这个选项是很重要的,因为这有以下好处:

1.让Subversion能知道主干(/calc/trunk)是从哪个分支、哪些版本合并进来的

2.有效节省SubversionRepository(SVN储存库)的空间,因为不用重复储存分支的所有变更信息

3.可以产生Revisiongraph得知项目开发的分支状况

一样可以先测试合并(Testmerge)再正式进行合并(Merge)

合并完后再将变更commit到版本库

4.删除使用完毕的分支

当分支(/calc/branches/my-calc-branch)合并回主干(/calc/trunk)并commit了之后,该分支就没用了,该分支如果未来不再更新或继续开发,Subversion也不会继续追踪这个分支的变更(因为之前已经Reintegrate过了),建议将该分支删除。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2