网站建设dede,ic千库网,使用中文域名的网站,手机一键建站版本控制的一大功能是可以隔离变化在某个开发线上#xff0c;这个开发线就是分支#xff08;branch#xff09;。分支通常用于开发新功能#xff0c;而不会影响主干的开发。也就是说分支上的代码的编译错误、bug不会对主干#xff08;trunk#xff09;产生影响。然后等分…版本控制的一大功能是可以隔离变化在某个开发线上这个开发线就是分支branch。分支通常用于开发新功能而不会影响主干的开发。也就是说分支上的代码的编译错误、bug不会对主干trunk产生影响。然后等分支稳定之后可以再合并到主干上。版本管理系统的一大功能是标记特定版本以便在任何时候都可以重建某个版本的环境这个标记版本的动作就是打标签。svn不需要特殊命令来打分支或者打标签。它使用的是一种“轻量copy”的方式这种方式有些像unix的硬链接。它不会完整的拷贝仓男裤而是创建一个内部链接来指向一个特定的版本。基于此创建分支和标签tag非常快几乎不需要额外耗费仓库的空间。1.分支与标签(tag)的区别创建方式相同svn中分支和标签tag之间没有什么明显的差别分支和标签的创建方式相同。使用情景不同分支主要用于开发新功能。标签(tag)用于保存一个静态的内容。例如一个阶段性成果。如果用tag来存储一个动态变化的内容那么系统会进行警告。建议tag的名称包含版本号 branch包括 日期功能点分支和tag的转换当我们发布了1.0版本这个1.0版本在tag中存储。后来发现1.0版本需要修改。那么我们从1.0的tag创建一个分支。在分支上修改直到修改完成。然后再从该分支创建新的tag2.分支操作这里先让大家有个大致的里阿杰第3部分我们来实操为了方便的进行分支操作创建仓库时建议采用 trunk tag branches的结构后期分支操作很容易。2.1 创建新分支/标签当我们希望开发一个新功能那么创建一个新分支在新分支上开发是个不错的主意这样可以避免新功能开发对主干功能的影响。哇塞这个技能不错奥一定要有在上面开发已经创建了版本4现在想在001.txt上新增一个加法功能。在空白处点击右键菜单 TortoiseSVN -Branch/Tag..左侧选择branches并在URL中输入标签名称 注意正常开发新功能应当在branch上如果选择tag那么后期提交直接提交文件会有警告输入日志后点击【ok】下面这个提示显示分支已经创建了但是需要你switch 才能切换到该分支此时如果在工作区空白处点击右键 TortoiseSVN - Revision graph,则可以看到如下已经可以看到新的分支了4.2切换分支现在我们切换到刚才创建的分支 dev_add切换分支后你的工作区的代码就是该分支的代码了009.txt就和trunk上不同了注意如果你把tag作为开发分支则提交时会有如下所示的警告奥svn认为tag从branch或者trunk中打标签才合理。点击 commit按钮既可完成开发4.3 打标签创建tag和创建分支branch的操作完全相同只不过tag用于保存里程碑成果。比如0.1版本的软件资产。通常不在tag中修改例如实际工作中可能存在如下情景假设图书管理系统V1.0版本代码已经通过测试现在我们将该成果打标签在tag中存储将阶段成果固化后来发现1.0版本有bug。我们从1.0的tag创建一个分支。在分支上修改直到修改完成。然后再从该分支创建新的tag。3.分支实操下面让我们来完整的走个流程试一试3.1创建一个有 trunk/branch/tag的仓库svn server端点击Repositories上点击右键菜单Create New Repository仓库名称建议采用英文名称 lianxi3.2.将本地项目导入到远程仓库将导入的trunk地址复制到 “URL of Repository”中点击 【ok】 按钮提交3.3检出代码到本地为了下面的练习效果更明显。我们新建一个空的文件夹在空白处点击右键“SVN checkout”将项目checkout导出到本地输入项目的仓库路径将代码检出3.4.分支创建及提交总的步骤如下下面我们来一步一步完成在主干上修改009.txt的第1行追加1。 提交日志修改009的第1行追加1在主干上修改009.txt的第2行追加2。 提交日志修改009的第2行追加2 创建分支 demo_20230303_dev_add 提交日志创建分支demo_20230303_dev_add在主干上 修改009.txt的第3行追加3。 提交日志修改009的第3行追加3切换到分支switch demo_20230303_dev_add 在分支demo_20230303_dev_add 上 修改001.txt 删除4-6行添加 如下的add函数提交日志添加add函数 int add(int x , int y){return xy;}在分支demo_20230303_dev_add 上 修改002.txt 末尾追加---- 提交日志 修改002.txt 末尾追加----将分支合并到主干提交日志合并分支demo_20230303_dev_add 到主干 此时主干的代码即包括了主干的修改又包括分支的修改。3.4.1 在主干上修改009.txt的第1行追加1。 提交日志修改009的第1行追加1 修改的文件要提交到版本库只需要选中改文件点击右键菜单3.4.2 在主干上修改009.txt的第2行追加2。 提交日志修改009的第2行追加2 3.4.3 创建分支 demo_20230303_dev_add 提交日志创建分支demo_20230303_dev_add 文件夹的空白处点击右键菜单 TortoiseSVN - Branch/Tag.. 点击 To path 文本框后的 【...】选择branches并补充分支名称后返回填写分支日志后点击【ok】建议分支名称包含日期和功能完成时系统提示当前并没有切换到新分支 3.4.4 在主干上 修改009.txt的第3行追加3。提交日志修改009的第3行追加33.4.5 切换到分支switch demo_20230303_dev_add 在工作区点击右键菜单 TortoiseSVN - switch 3.4.6 在分支demo_20230303_dev_add 上 修改001.txt 删除4-6行 添加 add函数提交日志添加add函数int add(int x , int y){return xy;}提交之后可以查看版本树 文件夹空白处点击右键菜单 TortoiseSVN -Revison graph3.4.7在分支demo_20230303_dev_add 上 修改002.txt 末尾追加---- 提交日志 修改002.txt 末尾追加----3.4.8 将分支合并到主干,提交日志合并分支demo_20230303_dev_add 到主干 先切换到主干然后执行合并分支的日志3.5 打标签如果下面我们模拟以下操作步骤假设图书管理系统V1.0版本代码已经通过测试现在我们将该成果打标签1将阶段成果固化图书管理系统继续开发主干分支继续修改从标签1创建分支当我们发布了1.0版本这个1.0版本在tag中存储。后来发现1.0版本需要修改。那么我们从1.0的tag创建一个分支。在分支上修改直到修改完成。然后再从该分支创建新的tag3.6 注意 tag一般只保存阶段成果不用来保存变化的内容如果你把tag作为开发分支则提交时会有如下所示的警告奥svn认为tag从branch或者trunk中打标签才合理。点击 commit按钮既可完成开发