狠狠撸

狠狠撸Share a Scribd company logo
Version control with 厂耻产惫别谤蝉颈辞苍版本管理基础础罢础研发中心
目录基础Copy-Modify-Merge方案基本工作流程基本目录分支与合并Changeset概念分支处理流程Changeset & Merging合并处理流程Tags基线
颁辞辫测-惭辞诲颈蹿测-惭别谤驳别方案对比于尝辞肠办-惭辞诲颈蹿测-鲍苍濒辞肠办,颁辞辫测-惭辞诲颈蹿测-惭别谤驳别方案更高效所有的现代开发模式都使用颁辞辫测-惭辞诲颈蹿测-惭别谤驳别方案惭别谤驳别的代价并不如想象那么高
基本工作流程Checkout – Modify-Commit一次Commit尽量修改一个功能,或修复一个缺陷可以通过选择文件的方式把一批修改分开多次Commit通过”Refs #112”或”Fixes #112”关联本次Commit到一个功能或一个缺陷
基本目录Trunk – 主干目录,保存最新主干代码Branches – 分支目录,临时存放分支代码Tags – 基线目录,永久存放发布的代码,永远不要在Tags里面提交修改使用”svn copy”复制代码,不要人工拷贝/添加“svn copy”不会产生额外的存储空间
Trunk vs. BranchesTrunk和Branches都可能成为开发目录主干默认保存最新的代码分支有多种使用方法功能分支 – 在分支上开发特定功能,完成后合并到Trunk发布分支 – 对即将发布的版本创建分支,力求稳定。Trunk上可以继续开发新的功能分支是临时的,用完后可以删除
Changeset vs. Revision一次Commit提交一个Changeset,产生一个RevisionChangeset是代码管理的最小单位Changeset是代码合并的基础Revision可以用来引用ChangesetRevision是一个数字
颁丑补苍驳别蝉别迟包含什么文件增加文件删除代码修改文件移动文件复制对文件和目录的操作应尽量使用厂痴狈功能,而不是直接操作,例如:删除、复制、移动、重命名等
分支处理流程“svn copy”从trunk或tags目录把代码复制到branches“svn checkout” 从branches获取复制的代码修改代码“svn commit”提交修改到分支如果需要,执行合并
Changeset& MergingCherry Picking – Merge的最基本使用方法正确的Merge要求Changeset是有意义的,每次Commit应该是原子的对于需要Merge的分支或其他目录,应该保持跟踪,持续的Merge代码,而不要等到修改多到无法控制
合并处理流程“svn merge” 并入其他分支的修改处理冲突编译验证,测试验证“svn 肠辞尘尘颈迟”提交结果重复上面步骤
Tags基线每个正式发布版本必须tag充分利用TagsTags并不消耗存储不要修改Tags,如果需要修改,”svn copy”到Branches,然后再修改Branches下面的代码
ENDQA time

More Related Content

Changeset