SVN 创建分支与合并分支(SVN版本1.8.9)

合集下载

SVN分支与合并步骤详述

SVN分支与合并步骤详述

SVN分支与合并步骤详述SVN(Subversion)是一个版本控制系统,用于管理软件开发过程中的源代码版本控制。

分支和合并是SVN中的重要概念,用于管理不同开发线上的代码,并在需要时进行合并,使得团队成员可以并行工作,提高开发效率。

本文将详细介绍SVN分支与合并的步骤。

1. 创建分支(Branch)在SVN中,分支是项目的一个副本,用于并行开发不同的功能、修复bug等。

在创建分支之前,需要有一个主干(Trunk),这是项目的主要开发线。

在主干上创建分支时,会将主干的代码复制到分支中,并独立于主干进行开发。

以下是创建分支的步骤:1.1 定位到主干的工作副本(Working Copy)目录中,使用命令行或SVN客户端打开SVN工作副本。

2.在分支上进行开发在创建了分支之后,团队成员可以在分支上并行地进行开发工作。

在分支上的开发过程与在主干上相同,可以添加、修改和删除文件,提交代码等。

3. 合并分支(Merge)当分支上的开发完成后,需要将分支的代码合并回主干中,以便所有开发线上的代码都包含最新的改动。

以下是合并分支的步骤:3.1切换到主干的工作副本目录。

4. 分支的删除(Optional)在合并分支之后,分支的使命已经完成,可以选择删除分支以节省存储空间。

以下是删除分支的步骤:4.1定位到分支的工作副本目录。

以上是SVN分支与合并的详细步骤。

通过创建分支可以实现并行开发,而合并分支可以将不同开发线上的代码合并到一起,保持项目的一致性。

分支与合并是团队协作中非常重要的功能,能够提高开发效率,确保代码的完整性。

解决版本冲突问题的方法—分支与合并

解决版本冲突问题的方法—分支与合并

解决版本冲突-使用SVN主干与分支功能1前言大多数产品开发存在这样一个生命周期:编码、测试、发布,然后不断重复。

通常是这样的开发步骤:1) 开发人员开发完毕某一版本(如版本A)功能后,提交测试;2) 测试人员对待发布版本A进行测试,同时开发人员继续开发新功能(如版本B);3) 测试人员提交bug,研发人员修复bug,同时继续开发新功能;4) 重复第3步骤,直到待发布版本A测试通过测试后,发布第一版本这样就会存在以下问题:1) 如何从代码库中(A+B)分离出待发布版本A,进行测试和发布;2) 如果单独存放待发布版本A,那么开发组必须同时维护此版本库A以及当前最新代码库(A+B),操作冗余且容易出错。

在SVN中,通常采用主干(trunk)与分支(branches)的方法,解决以上问题。

2相关概念和原理在SVN中创建代码库时,通常会创建trunk、branches、tags三个子目录,当然,你也可以用其他名称来实现主干和分支的功能trunk-主干,或称主线,顾名思义,是开发的主线。

branches-分支,是从主线上分出来,独立于主线的另一条线。

可以创建多个分支。

一个分支总是从主干一个备份开始的,从那里开始,发展自己独有的历史(如下图所示)。

在版本控制的系统中,我们经常需要对开发周期中的单独生命线作单独的修改,这条单独的开发生命线就可以称为Branches,即分支。

分支经常用于添加新的功能以及产品发布后的bug修复等,这样可以不影响主要的产品开发线以及避免编译错误等。

当我们添加的新功能完成后可以将其合并到主干中。

tags-标记,主要用于项目开发中的里程碑,比如开发到一定阶段可以单独一个版本作为发布等,它往往代表一个可以固定的完整的版本。

即主干和分支都是用来进行开发,而标记是用来进行阶段发布的。

安全公司的配置库有专门的发布区,所以tags并不需要创建,在这里只是提供说明,不推荐使用。

branches以及tags在TortoiseSVN中创建方法是一致的,它们都是通过存储类似Linux中的lunch 快捷方式一样,只是创建了指向某个版本的链接,而不会真正将此版本的内容复制到分支或者标记中,这样既可以节省空间,也可以很快速的创建,被称为“廉价的拷贝”。

TortoiseSVN(客户端)使用教程

TortoiseSVN(客户端)使用教程

一:客户端S V N安装。

1.首先我们需要下载”svn小乌龟”后,进行安装。

比如我下载如下的:安装完成后,比如在我的项目在qianduan1中,我右键就可以看到如下:说明snv已经安装成功了!2:checkout项目文件。

新建或者进入目录下(比如qianduan1),右键--> Svn Checkout -->将复制的版本库URL粘贴上,如下图:点击【ok】按钮后,就可以检索出来,如下:如下图:注意事项:.svn这个隐藏目录记录着两项关键信息:工作文件的基准版本和一个本地副本最后更新的时间戳,千万不要手动修改或者删除这个.svn隐藏目录和里面的文件!!,否则将会导致你本地的工作拷贝(静态视图)被破坏,无法再进行操作。

1) TortoiseSVN图标介绍一个新检出的工作复本使用绿色的对勾重载,表示Subversion状态正常。

在你开始编辑一个文件之后,状态就变成了已修改,而图标重载已变成了红色感叹号。

通过这种方式,你可以很容易地看出那些文件从你上次更新工作复本被修改过,且需要提交。

如果在提交的过程中出现了冲突,图标就会变成了黄色感叹号。

加号告诉你有一个文件或者目录已经被计划加入到版本控制中。

二、TortoiseSVN Client基础操作:1. SVN检出(SVN Checkout)在文件夹或者目录下单击右键–> 选择SVN检出,如下图所示点击后,在弹开窗口的版本库url框中输入版本库的目录地址,然后点击确定,如下图再点击ok按钮后,如下图:在弹出的对话框中输入用户名和密码,验证成功后,项目文件开始从远程服务器下载到本地工作目录中。

点击ok按钮后,即可获取完成,如下图所示:2. 增加(Add)在test项目文件下,新建一个b.txt文件,提交到版本库的方法如下2种:1. 先提到变更列表中,再commit到配置库中,选择新增文件,右键SVN菜单执行“Add “操作提交到”变更列表中”,然后右键SVN菜单执行”SVN Commit”提交到版本库中。

svn合并版本简易手册

svn合并版本简易手册

使用Tortoise Svn 客户端进行版本合并的步骤
1 选中需要合并的目的工程的本地副本右键点击【Merge】(合并)菜单
2 选择【Merge a range of reversions 】点击【Next】按钮
3 选择需要合并的分支
4点击【Show log】按钮选择需要合并的版本区间
5 点击【Next】按钮进行合并
6 点击【Merge】按钮进行合并到本地副本
7 如果合并过程中出现冲突需要人工参与解决会弹出如下窗口,可以选择【Resolve all later】全部在最后解决冲突
8当全部同步完成之后,冲突部分已红色字体显示如下
9 可以双击红色部分文件进行解决
10 可以点击红色部分右键, 确定是使用待合并的版本或者是本地副本
11 当所有冲突全部解决之后可以右键项目,选择【Resolved】菜单,标记解决
12 解决完成即可按照提交代码的方式将合并到本地副本的代码提交到版本库。

svn合并分支代码

svn合并分支代码

svn合并分支代码SVN是一个版本控制系统,它可以帮助团队协作开发代码。

在开发过程中,通常会创建多个分支来同时进行多个功能的开发。

当分支开发完成后,需要将分支代码合并到主干代码中,以保持整个项目的统一性和稳定性。

合并分支代码是一个重要的步骤,需要仔细操作。

下面将介绍一下如何使用SVN合并分支代码。

要确保自己在主干代码所在的目录中。

可以通过命令行或者图形界面进入到主干代码所在的目录。

然后,使用以下命令查看当前分支的信息:```svn info```这个命令会显示当前分支的版本号、最后提交的作者、最后提交的时间等信息。

确认当前分支的信息后,可以进行下一步操作。

接下来,使用以下命令查看当前分支与主干代码的差异:```svn diff --summarize ^/trunk```这个命令会列出当前分支与主干代码的差异,包括新增的文件、修改的文件和删除的文件等。

通过查看差异,可以了解到当前分支与主干代码的不同之处。

然后,使用以下命令将主干代码更新到最新版本:```svn update```这个命令会将主干代码更新到最新版本,以便后续的合并操作。

接下来,使用以下命令切换回主干代码:```svn switch ^/trunk```这个命令会将当前目录切换回主干代码所在的目录。

然后,使用以下命令进行代码合并:```svn merge --reintegrate ^/branches/branchname```其中,branchname是要合并的分支的名称。

这个命令会将分支代码合并到主干代码中。

在合并过程中,可能会出现冲突。

冲突是指同一文件的同一部分被多个分支修改了,SVN无法自动解决这种冲突,需要手动解决。

可以使用以下命令查看冲突的文件:```svn status```然后,打开冲突的文件,手动解决冲突。

解决完冲突后,使用以下命令告诉SVN冲突已解决:```svn resolved filename```其中,filename是冲突的文件名。

Svn分支的创建与合并

Svn分支的创建与合并

建立分支后,可以把分支checkout并继续你的开发 $ svn checkout /src/branches/myb分支方法二:直接远程拷贝。 $ svn copy /src/trunk \ /src/branches/mybran ch \ -m "Creating a private branch of /src/trunk."
Windows环境下创建分支
1.版本库中建立目录trunk 2.将工程文件导入主干目录 3.从主干检出文件到本地 4.在本地主干工作副本上创建分支:命令: TortoiseSVN->分支/标记,URL中输入分支在版本库中 的位置,如:project/branch/branch_1,此时版本库 中建立该分支的文件夹,且分支里的内容是用户选择 的相应版本 5.从分支里检出内容到本地。 6.在本地的分支上进行编辑修改。 7.合并时在本地的trunk目录下进行操作。命令: TortoiseSVN-Merge,并输入分支的地址,解决一些冲 突之后就可以将该分支合并到主干中。

SVN分支与合并使用教程

SVN分支与合并使用教程

SVN分支与合并使用教程SVN(Subversion)是目前常用的版本控制系统之一,它可以帮助开发团队协同工作,并且可以管理和追踪文件的版本。

在开发过程中,我们经常需要创建分支来进行不同的开发工作,并且在完成后将分支合并回主线。

本文将详细介绍如何使用SVN进行分支和合并操作。

1.创建分支:在使用SVN进行分支操作之前,首先要确定要进行分支的项目目录已经在SVN中进行版本控制,并且你已经具有适当的权限。

为了创建一个分支,可以使用SVN的copy命令来复制项目的一些版本到一个新的目录。

命令的格式如下:svn copy <源URL> <目标URL> -m "复制分支"其中,源URL表示要进行分支的项目目录的URL路径,目标URL表示要创建的新分支的URL路径,-m选项表示对分支的说明信息。

例如,如果我们要为项目的主线创建一个名为"dev"的分支,可以使用以下命令:这将创建一个名为"dev"的分支,并且将它复制到项目的"branches"文件夹中。

2.切换到分支:在创建分支后,我们需要从主线切换到新创建的分支上进行开发工作。

可以使用SVN的checkout命令来进行切换。

命令的格式如下:svn checkout <分支URL> <本地路径>其中,分支URL表示新创建的分支的URL路径,本地路径表示要将分支检出到本地的路径。

3.合并分支:在完成对分支上的开发工作后,我们需要将分支中的变更合并回主线。

可以使用SVN的merge命令来进行合并。

命令的格式如下:svn merge <源URL> <目标URL>其中,源URL表示要合并的分支的URL路径,目标URL表示合并的目标路径(通常为主线的URL路径)。

例如,如果我们要将分支"dev"的变更合并回项目的主线中,可以使用以下命令:在执行此命令后,SVN将会尝试将分支上的新变更合并到主线上。

SVN分支管理

SVN分支管理

SVN分⽀管理最近项⽬⽤上了svn分⽀管理,因为项⽬太过庞杂,版本迭代也过于频繁,致使多个版本的代码交杂在⼀起,难以维护,⽆法保证其中某个版本的稳定性。

当然,我们也⽤过很⼟的办法,代码复制⼀份出来,但是,这个副本也需要加上新开发的功能。

所以,我们决定使⽤svn分⽀管理。

当然,这有代价,svn版本管理对⼆进制⽂件不友好,可能⽂件分⽀合并时⼆进制⽂件会难以处理。

(这⾥说的⼆进制⽂件,泛指所有⾮⽂本⽂件,⽐如说美术资源,策划⽂档)(⽂章内容转⾃CSDN,感谢原创)svn分⽀简述使⽤分⽀最主要的⽬的是,多个分⽀可以并⾏,相互不⼲扰,⽽且任何时候都可以合并。

其次,容易保证主⼲的稳定性。

没有分⽀的时候,你的svn可能是这样的:就⼀份代码存在主⼲(trunk),当然也不会有主⼲这个说法。

开发完1.0,继续开发2.0,版本⼀个⼀个迭代。

有了分⽀后,你的svn可能就是这样的了:主⼲⽤来存放稳定的代码,每个版本都会开⼀个分⽀,等版本完成后再合并到主⼲。

版本⼀个⼀个迭代,但可以并⾏开发。

svn分⽀管理接下来,简单讲解下如何使⽤svn做分⽀管理。

第⼀步,建⽴主⼲分⽀⽬录结构第⼆步,创建分⽀在主⼲⽬录 trunk 右键,在svn菜单选择 Branch/tag...步骤①是分⽀地址,这⾥直接以 /branches/1步骤②是取trunk版本,HEAD revision表⽰最新版本,其他可通过 show log选择执⾏ OK 后,到 branches ⽬录 svn update 就可以看到最新的分⽀了。

第三步,合并分⽀到主⼲分⽀就是开发⽬录了,现在分⽀提交⼀个⽂件做测试。

然后,合并这个⽂件分⽀到主⼲。

现在到主⼲⽬录,右键svn菜单选 Merge...这个是将分⽀或主⼲的修改合并到当前⼯作⽬录,继续如下。

接下来点完成,如果没冲突的话,分⽀⽂件就合到主⼲了。

但这⾥还要⼀个操作,就是在主⼲提交分⽀合过来的⽂件。

题外话,之所以要有这⼀步,除了对分⽀内容进⼀步修改,还可以同时合并多个分⽀。

svn用户操作手册

svn用户操作手册

svn用户操作手册SVN(Subversion)是一个版本控制系统,用于管理文件的版本和变更历史。

以下是SVN用户操作手册:1. 检出代码:打开控制台,输入“svn checkout [服务目录] [本地目录全路径] --username 用户名 --password 密码”。

其中,[服务目录]是你要检出的代码所在的SVN仓库地址,[本地目录全路径]是你要将代码检出到的本地路径。

2. 添加新文件:使用“svn add 文件名”命令将新文件添加到版本库中。

如果要添加多个文件,可以使用通配符“.扩展名”来批量添加,例如“svn add .txt”将添加所有扩展名为.txt的文件。

3. 提交修改:使用“svn commit -m 提交信息”命令将修改的代码提交到仓库中。

其中,“-m”参数后面跟着提交信息,简要描述你做了哪些修改。

4. 更新代码:使用“svn update”命令将当前目录以及子目录下的所有文件都更新到最新版本。

如果要更新特定文件,可以使用“svn update [文件路径]”命令。

5. 比较代码:使用“svn diff”命令比较当前文件与版本库中的文件差异。

如果要比较不同版本的差异,可以使用“svn diff -r [版本号] [文件路径]”命令。

6. 分支操作:创建分支使用“svn copy [源路径] [目标路径] -m 创建分支信息”。

其中,[源路径]是你要创建分支的分支或主线的位置,[目标路径]是分支的名称。

合并分支使用“svn merge [源分支路径] [目标分支路径]”。

其中,[源分支路径]是要合并的分支的路径,[目标分支路径]是合并的目标位置。

7. 查看历史记录:使用“svn log [文件或目录路径]”命令查看指定文件或目录的历史记录。

8. 标签操作:创建标签使用“svn copy [源路径] [目标路径] -m 创建标签信息”。

其中,[源路径]是你要创建标签的分支或主线的位置,[目标路径]是标签的名称。

TortoiseSvn创建分支(Branch)和标签(Tag)

TortoiseSvn创建分支(Branch)和标签(Tag)

TortoiseSvn创建分支(Branch)和标签(Tag)前言版本管理系统有两个基本的功能分支(Branch)管理和标记(Tag)管理。

分支用于在并行开发,当分支上的功能开发完毕、测试通过以后)就可以将分支上的功能合并到主分支(Trunk)上。

而利用标记(Tag)功能就可以再任何时间创建一个发布版本。

Subervsion没有一个特殊命令来创建Brach或Tag,而是用了一个所谓的“廉价拷贝-cheap copies”来实现。

廉价拷贝和Unix中的硬链接(Hard Link)类似,也就是说不是在版本库中创建一个拷贝,而是通过一个链接指向特定发布版本的内部链接。

基于这种实现的分支和标记不但创建容易而且不占用多余的空间。

操作步骤首先你在本地要有一个你想拷贝到Brach或Tag中工作拷贝(Working Copy),例如E:\test。

然后选中这工作拷贝文件夹,点击右键选中T ortoiseSVN->分支/标记在接下来的对话框中你会要求输入创建分支或标记的目标路径创建分支或标记的时候,你有三个选项版本库中的最新版本,版本库中的指定版本,工作副本。

最新版本(HEAD revision in the repository)——直接从版本库中最新创建,由于不需要从你的工作拷贝中传输数据,创建过程会很快。

版本库中的指定版本(Specific revision in the repository)——同样是从版本库中创建,不同的是你可以指定一个版本号。

如果你忘了版本号,可以通过显示版本记录来找到你想要的版本号(如下图)。

这种方式同样不需要从你的工作拷贝中传输数据,创建过程也很快。

工作副本——这种方式会依据当前工作拷贝的版本状况(无论是你做了本地的修改,或是将其中的某些文件更新到了一个历史版本)来创建分支拷贝。

这种创建方式会根据工作副本中每个文件的版本情况来决定是否要从工作拷贝向版本库中传输数据。

最有一个选项就是“切换工作副本至分支/标记”选项,如果选中这个选项,顾名思义你用来创建分支或标记的工作拷贝就会自动切换到指定创建的版本或标记的。

SVN安装与使用教程总结

SVN安装与使用教程总结

SVN安装与使⽤教程总结转载:SVN简介:为什么要使⽤SVN?程序员在编写程序的过程中,每个程序员都会⽣成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本。

Subversion是什么?它是⼀个⾃由/开源的版本控制系统,⼀组⽂件存放在中⼼版本库,记录每⼀次⽂件和⽬录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subversion可以通过⽹络访问它的版本库,从⽽使⽤户在不同的电脑上进⾏操作。

⼀:SVN服务器搭建和使⽤。

1. ⾸先来下载和搭建SVN服务器,下载地址如下: ,进⼊⽹址后,滚动到浏览器最底部看到如下截图:个⼈认为最好⽤VisualSVN server 服务端和 TortoiseSVN客户端搭配使⽤. 点开上⾯的VisualSVN连接,下载VisualSVN server,下载完成后双击安装,如下图:点击Next下⼀步,如下:然后再点击Next项,下⼀步,如下:点击【Next】如下:Location是指VisualSVN Server的安装⽬录,Repositorys是指定你的版本库⽬录.Server Port指定⼀个端⼝,Use secure connection勾⼭表⽰使⽤安全连接,点击Next,进⼊下⼀步,如下图:再点击【Install】,进⼊如下安装图:等待安装完成后,点击【next】,进⼊下⼀步:如下图点击【Finish】即可完成安装。

安装完成后,启动VisualSVN Server Manager,如图:可以在窗⼝的右边看到版本库的⼀些信息,⽐如状态,⽇志,⽤户认证,版本库等.要建⽴版本库,需要右键单击左边窗⼝的Repositores,如下图:在弹出的右键菜单中选择Create New Repository或者新建->Repository:进⼊下⼀步,如下图:点击【下⼀步】,如下图:点击【create】,如下图:点击【Finish】即可完成基本创建。

SVN分支与合并【超详细的图文教程】

SVN分支与合并【超详细的图文教程】

SVN分支与合并一、分支与合并的概念二、SVN分支的意义三、如何创建分支与合并分支一、分支与合并的概念:分支:版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上。

这条线被称为分支。

分支经常被用来试验新的特性,而不会对开发有编译错误的干扰。

当新的特性足够稳定之后,开发品的分支就可以混合回主分支里(主干线)。

合并:分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。

二、SVN分支的意义:简单说,分支就是用于区分开发版本与当前发布版本的。

1、主干负责新功能的开发2.、分支负责修正当前发布版本的bug(对于可以放入下个发布版本的改进性bug可以直接在主干上开发)3.、分支上修改的bug,经常性merge到主干上,尽量及时merge(避免大面积红色区域)。

4.、只能分支往主干靠拢(merge),不能反向!5.、直到下个新版本发布,该分支停止修改三、如何创建分支与合并分支:1、首先要在你的版本库存里创建主干目录,通过版本库浏览器,如图1所示:(图1)2、输入版本库URL地址,如图2所示:(图2)3、进入版本库浏览器主目录,如图3所示:(图3)4、创建主干目录,如图4所示:(图4)5、主干目录(trunck),如图5所示:(图5)6、把你要加入版本控制的文件加入主干,如图6-8所示:(图6)(图7)(图8)7、从主干里检出文件到你的本地工作副本上,如图9-10所示:(图9)(图10)8、选择你要创建分支的工作副本,如图11所示:(图11)9、在“至URL”里填写版本库中要存放分支的目录,如图12-13所示:(图12)(图13)注意:这时候工作副本对应版本库的路径仍为原来对应的主干的目录。

10、再从分支里检出内容到本地目录上,如图14-15所示:(图14)(图15)11、打开刚从分支里检出的工作副本目录,修改里面的test.txt文档并提交,如图16-17所示:(图16)(图17)注意:这时提交的修改只会提交到分支上,并不会更改主干上的内容。

svn将分支branchs代码合并到主干trunk

svn将分支branchs代码合并到主干trunk

svn将分⽀branchs代码合并到主⼲trunk⼀、⾸先将本地主⼲代码更新到最新的代码⼆、先将主⼲代码合并到分⽀,确保分⽀项⽬更新主⼲代码后没有报错2.1、在分⽀的项⽬上选择到需要合并到主⼲的代码,⽐如下⾯我只修改了src⽂件夹⾥⾯的内容,选择src⽂件夹,右键选择tortoiseSVN,选择merge,弹出如下所⽰的对话框:点击next好了,到这⾥就把主⼲的代码先更新过来了,如果没有问题,就可以接着将我们分⽀上的代码合并到主⼲上了将分⽀的代码合并到主⼲跟将主⼲的代码合并到分⽀类似,个⼈感觉没啥区别就是⿏标选择到主⼲的src⽂件夹,右键,重复上⾯的操作:后⾯都是默认的选择就可以了,执⾏到这⼀步只是将分⽀的代码合并到⾃⼰的本地主⼲上了,完成后你就会看到本地的主⼲代码已经更新到分⽀的代码了最后,提交本地主⼲代码到svn服务器,这样其他的同事再更新的时候才能更新到你分⽀上合并过来的代码。

使⽤svn⼏年了,⼀直对分⽀和合并敬⽽远之,⼀来是因为分⽀的管理不该我操⼼,⼆来即使涉及到分⽀的管理,也不敢贸然使⽤合并功能,⽣怕合并出了问题对团队造成不良影响,最主要的原因是,⾃⼰对分⽀的⽬的和合并的⽅法不甚了解,这才是硬伤。

最近由于适配机型的需要(本⼈从事⼿机客户端的开发),需要经常接触分⽀和合并两项⼯作,突然发现这玩意整不明⽩很难开展⼯作,遂这两天着重研究了⼀下,有点收获,怕以后忘了,故趁着余温尚在赶紧写下来,好记性不如烂笔头嘛。

下⽂的实践主要是参考了TortoiseSVN的帮助⽂档和Subversion的在线⽂档,Subversion的在线⽂档:话说我公司现在的源代码管理挺乱的,svn⽬录并没有采取标准的source/branches、source/trunk结构,主线和分⽀放得到处都是,release 版本也并没有当成tag处理,⽽是当成branch来管理,经常还要在release版本上改来改去。

先说说什么是branch。

svn中merge的使用

svn中merge的使用

分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。

此操作十分重要,在团队开发中,如果你是SVN 的维护者此环节可以说是必不可少,因为团队开发中如果使用了分支,那样合并分支到主干、或者分支合并分支的操作是必须的。

如果不使用分支,直接在主干上修改的话,主干版本可能会变得十分混乱。

维护难度大大加大。

下面以使用TortoiseSVN为例,任何SVN的客户端工具其实都大同小异。

一、分支的合并点击菜单上的合并按钮,出现如图窗口,一般的使用第三个选项即可。

如图所视。

点击下一步注意填写起始和结束的URL 及版本,尤其重要。

这一步将影响你合并后所得的版本。

简单的说,“结束的URL 和版本”是此次操作的最终标准。

而“起始URL 和版本”一般情况下必须是该分支创建的起始版本。

比方说,这次分支是从主干100 上创建的,而分支的起始版本是101 。

最终分支完成后的版本是105 。

简单情况下,主干上的版本没有被更新,依然是100 。

如果想把分支功能合并到主干上的话,我们可以在主干100 的工作副本中点击合并,然后“起始URL 和版本”填写主干的URL ,版本100( 或者HEAD ,因为最新版本也是100) ,然后“结束的URL 和版本”填写分支的URL 和版本105( 也可以是HEAD) 即可。

操作完成后,此次合并效果会在工作副本上呈现,如果有问题请使用还原,撤销此次修改操作。

注:其他SVN 的插件大同小异。

二、多分支合并参考单分支的分支操作,而多分支的情况简单来说有两种: 分支中的起始版本一致比方说现在有两个分支,分支A 和分支B 。

他们分别从主干T 创建分支。

主干T 版本100 ,分支A 的版本101 ,分支B 的版本号102 。

当分支A 和分支B 都各自完成开发,并且提交到SVN 上后。

A 的版本号为110 ,而B 的版本号为115 。

此时必须两步操作,并且操作在主干T 的工作副本内执行:1) 主干T 合并分支A起始URL 和版本主干T 的URL 、版本100结束的URL 和版本分支A 的URL 、版本1102) 合并分支A 后再继续合并分支B起始URL 和版本主干T 的URL 、版本100结束的URL 和版本分支B 的URL 、版本115注意:完成第一步的时候不必提交。

基于tortoiseSVN的SVN分支创建,合并,多分支并行

基于tortoiseSVN的SVN分支创建,合并,多分支并行

SVN分支创建,合并,多分支并行1.分支创建、合并、多分支一般svn代码库目录结构有:∙branches(分支)∙tags(标签)∙trunk(开发主干)从主干上创建分支1.右键点trunk —>TortoiseSVN—>BranchTagTo path 你创建Branch/Tag的路路径Create copy in the repository from:(从仓库生成副本)HEAD revision in the repository(从最新的Revision创建,一般用这个)Specific revision in repository(指定Revision创建)Working copy2.点击OK—>更新svn分支合并右键trunk—>Merge 选择Merge Type 并填写合并范围Merge Type1.Merge a range of revisions主要是把分支中的修改合并到主干上来,在本地trunk 目录上操作。

点击NextURL to merge from 选择要合并的分支Revision range to mergeo all revisions 从创建到最后提交,所有修改的内容o specific range 指定合并范围,合并指定的revision范围到主分支使用日志对话框选择要合并的修订版本,或输入要合并的修订版本,用逗号分隔。

修订范围可以用破折号指定。

操作完成后,需要提交本地trunk目录中版本。

2.Merge two different trees(这个号好麻烦,以后再研究)将主干版本合并到分支,在本地分支目录上操作。

可以选择过去的一个主干版本与分支的某个版本进行合并。

以分支版本为主,如果主干版本与分支版本有不同的地方,合并时主干的不同部分将被放弃此类型与前两种类型不同,第一种类型可以选择源分支合并的版本,目标分支不能选择版本;第二种类型是源分支和目标分支都不能选择合并的版本;而这种类型则是无论是源分支还是目标分支都可以选择合并的版本,即可以选择过去的一个目标分支版本与源分支的某个版本进行合并。

TortoiseSVN分支与合并

TortoiseSVN分支与合并

版本控制系统的一个特性是能够把各种修改分离出来放在开发品的一个分割线上。

这条线被称为分支。

分支经常被用来试验新的特性,而不会对开发有编译错误的干扰。

当新的特性足够稳定之后,开发品的分支就可以合并回主分支里(主干线).版本控制系统的另一个特性是能够标记特殊的版本(例如某个发布版本),所以你可以在任何时候重新建立一个特定的构件和环境。

这个过程被称作标记。

1.创建一个分支或标记在你当前的工作拷贝中给你想要拷贝的分支或标记选择一个目录,然后选择命令TortoiseSVN →分支/标记...。

默认的目标URL将会是你当前工作拷贝所处的源URL,你必须给你的分支/标记编辑一个新路径。

svn不会自动递归创建目录,你要自己先创建好父目录,比如你要创建一个分支/branch/0.0.1,那么0.0.1你可以不用创建,但是/branch你要先创建好(会由配置管理员统一创建好)。

版本库中的最新版本新分支直接从仓库中的最新版本里拷贝出来。

不需要从你的工作副本中传输任何数据,这个分支的建立是非常快的。

版本库中的指定版本在仓库中直接拷贝建立一个新分支同时你也可以选择一个旧版本。

假如在你上周发布了项目时忘记了做标记,这将非常有用。

如果你记不起来版本号,通过点击鼠标右键来显示版本日志,同时从这里选取版本号。

和上次一样不需要从你的工作副本中传输任何数据,这个分支建立起来是非常快的。

工作拷贝新的分支是一个完全等同于你的本地工作副本的一个拷贝。

如果你更新了一些文件到你的工作副本的某个旧版本里,或者你在本地做出了修改,这些改变将准确无误的进入拷贝中。

自然而然地这种综合的标记会包含正在从工作副本传输到版本库的数据,如果这些数据还不存在的话。

图例:2.合并分支用来维护独立的开发支线,在一些阶段,你可能需要将分支上的修改合并到最新版本,或者将最新版本的修改合并到分支。

合并指定版本范围为了合并版本,你需要进入接收修改的分支的工作副本,经常是trunk。

tortoisesvn使用介绍

tortoisesvn使用介绍

tortoisesvn使用介绍TortoiseSVN 是一个基于Windows 平台的 Subversion SVN)版本控制系统的客户端软件,它提供了一个用户友好的图形化界面,方便用户进行版本控制管理。

以下是使用 TortoiseSVN 的基本介绍和常见操作:安装 TortoiseSVN:下载 TortoiseSVN 的安装程序并运行安装向导。

安装完成后,会在 Windows 资源管理器中添加 SVN 相关的选项和图标,方便在本地文件系统中管理版本控制。

创建 SVN 仓库:在本地或远程服务器上创建 SVN 仓库 如果没有已有的仓库)。

通过 TortoiseSVN 创建本地工作副本 Working Copy):在资源管理器中选择一个目录,右键点击,选择 SVN Checkout。

输入仓库的 URL,选择本地文件夹用于存放工作副本。

SVN 操作:添加文件/文件夹:在资源管理器中选择文件或文件夹,右键点击,选择 TortoiseSVN -> Add。

提交修改:在本地工作副本中,右键点击选择 SVN Commit,输入提交信息并提交修改到 SVN 仓库。

更新代码:获取 SVN 仓库中的最新代码到本地工作副本,右键点击选择 SVN Update。

查看修改记录:通过 TortoiseSVN -> Show Log 查看文件的提交记录和修改历史。

解决冲突:如果多人同时修改同一个文件,在提交时可能会发生冲突。

通过 TortoiseSVN -> Resolve 解决冲突。

分支与合并:使用 TortoiseSVN -> Branch/Tag 创建分支或标签,以及执行合并操作。

配置管理之SVN使用

配置管理之SVN使用

配置管理之SVN使用配置管理是软件开发过程中不可或缺的一环,它涉及到版本控制、配置项的管理、更改控制和发布管理等多个方面。

在配置管理中,版本控制是最基础的一个环节。

而在版本控制工具中,SVN(Subversion)是一种被广泛使用的开源版本控制系统,本文将介绍SVN的基本使用方法。

一、SVN的安装和配置2. 创建仓库:SVN的核心概念是仓库(repository),开发者将项目的所有版本和相关的文件都存储在仓库中。

在命令行中进入合适的目录,执行以下命令创建一个新的仓库:svnadmin create <repository_name>二、SVN的基本操作svn checkout <repository_url> <local_directory>2. 添加(Add)文件:在检出项目后,你可能需要添加新的文件到项目中。

使用以下命令可以将文件添加到SVN中:svn add <file_name>3. 更新(Update)项目:当其他开发者对项目进行了修改并提交到仓库中后,你可以使用以下命令将这些修改同步到你的本地工作环境中:svn update5. 查看日志(Log):使用以下命令可以查看项目的提交记录和详细信息:svn log6. 比较文件(Diff):使用以下命令可以比较两个或多个文件的差异:svn diff <file_name>7. 回滚版本(Revert):如果你对文件进行了错误的修改或不满意的修改,可以使用以下命令将文件回滚到之前的版本:svn revert <file_name>8. 分支和合并(Branching and Merging):SVN还支持分支和合并功能,这使得不同版本可以同时进行开发。

使用以下命令可以创建和合并分支:svn copy <source> <destination>svn merge <source> <destination>三、SVN的高级用法svn copy <source> <tag>2.锁定:在一些情况下,你可能需要锁定一些文件以防止其他人进行修改。

svn merge 命令实例

svn merge 命令实例

svn merge 命令实例摘要:一、svn merge命令简介1.概念解释2.用途二、svn merge命令实例1.基本语法2.常用参数与用法3.实战演示三、svn merge命令与其他svn命令的关联使用1.与svn copy命令的关联使用2.与svn move命令的关联使用四、svn merge命令在团队协作中的应用1.合并代码2.解决冲突正文:svn merge命令是Subversion(SVN)版本控制系统中的一个重要命令,用于将两个或多个版本的代码合并到一起。

在团队协作开发中,svn merge命令被广泛应用于合并代码、解决冲突以及同步更新等场景。

本文将首先介绍svn merge命令的基本概念与用途,然后通过实例演示其使用方法,并探讨如何在团队协作中发挥其作用。

一、svn merge命令简介1.概念解释svn merge命令用于将一个或多个源代码版本合并到当前代码版本中。

它可以将不同分支的代码合并到一起,或者将同一分支的两个不同版本合并。

这样,开发团队可以轻松地整合不同开发者的成果,确保代码的统一与完整。

2.用途svn merge命令的主要用途包括:(1)将其他分支的代码合并到当前分支;(2)将本地修改与远程仓库中的最新版本合并;(3)解决分支合并过程中的冲突。

二、svn merge命令实例1.基本语法svn merge [选项] <源> <目标>其中,<源>和<目标>分别表示要合并的源代码版本和目标代码版本。

可以是分支名称、路径或者URL。

2.常用参数与用法(1)-r <范围>:指定要合并的版本范围,例如“-r 1:3”表示合并版本1到版本3之间的代码。

(2)--depth <级别>:指定合并的深度,可以是“infinity”(无限深度)或者“files”(只合并文件)。

(3)--dry-run:进行模拟操作,不实际执行合并。

SVN分支主干Merge操作小记

SVN分支主干Merge操作小记

SVN分⽀主⼲Merge操作⼩记⼀、前⾔ 说来惭愧,鄙⼈从事开发多年,使⽤svn已经好⼏个年头了,但是却仅限于update、commit、compare之类的操作,最近想到github上学习别⼈写的NIO源码,顺便去熟悉git的使⽤,但是⼀想到svn,我⼼⾥虚了:⽤了那么多年却对其⼀知半解,就连最基本的权限分配都没有做过,更别说进⾏分⽀拉取和合并了,何谈去get其他技能?做技术的还是要踏实⼀点,近⼀年来,我都在对之前未深⼊的领域进⾏扫盲,所以,注定svn是绕不过的坎,于是乎开始各种查资料,安装svn服务端(Virtual SVN)和客户端(TortoiseSVN),⽐对⽹上的博⽂进⾏各种尝试,不能说过程痛苦,但是当你在云⾥雾⾥摸索的时候挺难受的吧(顺便说下,在学习的时候精⼒⼀定要集中!对我⽽⾔,顺便塞上⽿塞听⾳乐⼯作效率是事半功倍,哈哈哈~)~不废话了,今天这篇博⽂就讲讲SVN⾥⾯⽐较⾼级的操作:创建分⽀(branch)、将主⼲(trunk)中的代码合并到分⽀(branch)、将分⽀(branch)中的代码合并到主⼲(trunk)中~⼆、正⽂ 说到分⽀和主⼲,我想不少coder也是⽐较少接触吧,毕竟很多时候,我们想着的还是如何赶进度~之所以出现分⽀和主⼲,就是希望主⼲和分⽀两份代码可以各⾃进⾏独⽴的管理互不影响,在需要的时候再进⾏合并。

试想这样⼀种场景:公司项⽬已经完成⼀个阶段的开发计划,这时候拉取⼀个branch专门⽤来测试以及BUG修复,⽽原先trunk上⾯的代码还可以继续往下开发,互不影响,等测试的branch问题修复之后,将这个branch“合并”回trunk。

这样trunk和branch可以在互不⼲扰的情况下各⾃做⾃⼰的事⼉,最后再进⾏整合,合并过程中有可能会有冲突,这个并不⿇烦,等出现冲突的时候⾃⾏百度,我相信你们可以解决的,如果还是晕乎乎,欢迎加群交流~ 接下来我就来说说如何创建分⽀(branch)、将主⼲(trunk)中的代码合并到分⽀(branch)、将分⽀(branch)中的代码合并到主⼲(trunk),⾸先说明⼀下笔者当前测试环境:1. Virtual SVN 1.9.5(传送门:)2. TortoiseSVN 1.9.5(传送门:) 准备⼯作(以上客户端服务端⾃⾏安装,除了安装路径看⾃⼰喜好之外,其他都按照默认设置,点击“下⼀步”吧): 1)创建repository 打开Virtual SVN,在左侧列表中,右键Repositories,新建⼀个repository,名字随意,格式笔者是选择FSFS,Repository Structure笔者选择Single-project repository******,这样⽅便后⾯的描述,为了测试的⽅便,在选择“Repository Access Permissions”的时候,选择所有⼈SVN的user都有访问这个repository的权限(user可以在Virtual SVN的左侧列表Users节点右键,进⾏新增) 2)Check out trunk⽬录到本地 ⾸先复制刚刚新建的repository下trunk的SVN URL 在本机随意⼀个⽬录新建⼀个空⽬录,⽐如笔者在d盘新建了⼀个svntrunk的⽬录,然后右键=>SVN Check out,将trunk的svn地址复制到“URL of repository”那⼀栏,然后点击“OK” 3)在D:\svntrunk⽬录下新建⼀个⽬录(名称设为project),然后在新建的⽬录下新增两个text⽂件:1.txt(⽂件内容:111111),2.txt(⽂件内容:222222),然后右键这个project⽬录,先Add,然后进⾏commit: 4)创建分⽀(branch)(唠叨⼀下,分⽀是创建在SVN服务器的repository中,⽽merge是合并在开发者本地) 右键D:\svntrunk\project⽂件夹,选择TortoiseSVN->Branch/tag,在弹出的对话框中,To path输⼊分⽀存放在repository的相对⽬录,这边注意:project01不能先创建,不然会报project01已经存在,不能创建分⽀!在log message中输⼊创建分⽀的⽇志,这对后续了解这个分⽀创建的⽬的有⼀定意义。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、分支的建立
1.首先打开版本库浏览器:
如图操作后得到如下界面:
2.在版本浏览器选择要分支的文件或文件后右击浏览日志,打开日志浏览器:
3.在日志浏览器中选择要分支的版本并右击选择从版本创建分支/标记后打开分支/标记对话框:
分支/标记对话框:
注意点:
1)在至路径中最好不要出现中文,以英文命名文件(夹)名
2)名称最好有代表意义
3.到这里只要点击确定就可以了,看结果吧,当然也要看你有没有运了哦!
结果图:
如果这时个在你的版本库浏览器中没有看到至路径文件(夹)中填写的东东的话可以试试右击后选择“重新整理”这个功能,也许你的好运就在那。

好了,至此分支已经建立完成,可以在本地更新了,你就可以看到辛苦后的成果了。

其它的一些小分享:
建立分支有很个入口,比如右击后的“分支/标记”功能也是可以的,只要在“分支/标记”对话框中小心就可以了,这是最重要的一个环节,记住一定要小心。

二、分支合并
1.打开分支目录,右击选择合并:
2.合并对话框中选择合并类型,这里常用的类型为”合并一个版本范围”,但我们用的
是合并两个不同的树
3.在这个对话框中起始和结束的作用:
其它指的就是需要合并版本的一个范围,我们一版不会去修改这两个路径,但如果你有需要也是可以修改的;
4.选择好合并版本后点击下一步后进入合并选项对话框,这里我们一般默认就可以
(试着修改了一下,没发现有什么区别),这里我们可以点击测试合并看看当前的一个结果。

5.在看完测试结果后心里有低就可以合并了,点击“合并”,直击合并完成对话框
我这边是直接合并成功,没有什么修改的东西,如果SVN自动合并文件会用绿色表示(默认),如果有需要手动合并的文件会用红色进行标示,这个时候就要小心了,我们需要自己手动去合并这些有冲突的文件,当手动合并完有冲突的文件后就可以,检查一下合并后的结果有没有问题,没有问题就可以直接提交到服务器共团队使用了。

相关文档
最新文档