下面介绍SVN的几个重要文件夹。 创建存储库仓库后,通常会在刚才创建的仓库中创建三个文件夹: trunk、branches和tags。 可以在仓库的根目录下共享项目,而不是直接向仓库的根目录下提交项目,但一般不会这样做。 主要目的是在:项目的各个阶段,将各个版本进行分类、分段保存、并行开发。
trunk文件夹:主干网,我们一般向这个文件夹提交项目,用trunk开发。 branches文件夹:分支,我们一般需要评分分支,但是可以修改的项目代码,在这个目录中进行评分分支。 tags文件夹:分支,我们一般将那些阶段性(比如迭代各期)的项目代码,评分分支到这个目录中。 注:实际上,您不需要手动创建这三个目录。 当我们选择评分枝并命中branch和tags等时,会自动成为对应的资料库
在的根目录下创建文件夹。
注:第一次连接到SVN存储库时,可以指定目标仓库下不存在的文件夹。 第一次完成了项目
对于teamshare project,将在该仓库下自动创建URL中不存在的文件夹并包含代码。
提示:在开发过程中,您可以集中精力开发路线中的项目代码。 开发到某个时期(我认为很重要的时期)时,可以根据情况将需要备份的文件夹(或文件)评分分支到其他branches、tags等文件夹。
注意:如果需要,可以从SVN同步分支中任何时间的项目代码。 (注意:当然,干线主干上的最新代码也可以同步。
注:在某些情况下,也可以使用branches进行开发。 但是,必须立即将trunk的代码集成到branches中,但暂时不会将branches集成到trunk主干中。 (然后,在开发到一定程度时,将branches集成到主干的干线中。 这种方式也很常用。
声明一:本次样例的硬件和软件环境为:Windows10、VisualSVNServer、TortoiseSVN、Eclipse。
注: VisualSVNServer主要用作SVN服务端,而TortoiseSVN主要用作SVN客户端。
声明由于Eclipse和其他IDE开发工具的SVN插件版本不同等原因,这里不介绍SVN插件中分支的使用,而是介绍TortoiseSVN客户端中分支的使用。
准备工作:使用VisualSVNServer创建一个本地仓库:
注意:要创建存储库,必须首先创建用户,但此处不再详细介绍。
注:创建SVN仓库的方法很多,本人在此使用VisualSVN Server创建。
如下图所示,创建完成。
注:右键单击目录或仓库将显示用于复制已连接SVN的URL的选项。
在SVN中加入一些东西,便于下次说明。
注:可以使用Eclipse的SVN插件在SVN仓库中共享项目,也可以使用TortoiseSVN将文件夹添加到SVN仓库。 ……这里不给出具体步骤。
使用TortoiseSVN来管理SVN:
使用TortoiseSVN验证以下SVN的内容:
使用TortoiseSVN签出SVN中的项目:
已签出到桌面。
SVN评分方式1 :先检测后评分
注:在to path中,输入或选择要对哪个文件夹评分。 如果输入不存在的文件夹,该文件夹将自动在SVN上创建。
注:/branches/project20180831是指当前仓库文件夹下branches文件夹下的project20180831文件夹。
分支已创建。 再看一次吧。
注:在一个树枝上的操作,其作用范围是本身,不影响其他树枝。 (:此处是指一般操作,请注意分支合并等情况除外。
很容易测试。 在主干trunk上稍加修改后提交。 在TortoiseSVN上查看分支上的对应文件,发现是修改前的; 看了主干的对应文件,发现是被修改了的东西。 说明树枝和树枝之间不会发生干扰。
注:评分前,请确保本地和服务器一致。 也就是说,在:评分前需要更新、提交。
方法2 :在直接客户端,通过Copy to方式选择评分分支备份的目录:
右键单击Copy to,填写评分对象。
填写分支信息:
单击ok后,更新客户端,即可看到评分成功。
合并分支:提示合并:分支时,选择目标分支并将其合并到当前处置的分支中。
注:您可以合并文件,也可以合并整个文件夹以查看需求。
如果Test merge测试没有冲突,则为:
此时,直接单击Merge进行合并即可。
Merge解决冲突:如果Test merge测试存在冲突,则为(
例):此时点击Merge,会出现:
点击Edit conflict来编辑冲突
在合并后的枝干对应栏中编辑后,Save保存后关闭。
点击已解决Resolved按钮:
点击OK即可:
此时,(冲突已经解决并且)已经合并完毕了。
注:Merge合并之后,只是在本地的当前枝干发生了变化,而在服务端SVN中的当前枝干还是合并之前的;所以合并之后确认没问题后还需要commit到服务端SVN,以保证其他小伙伴能拿到最新的代码。
注:如果发现合并之后,还有问题,那么可以回退
注:我们在打分支时,取的分支文件夹名虽然和项目名不同(如下图),但是当我们切换分支时,右击项目(Abc_SVN_Test)
之后,选择要切换到的分支时,直接选我们打分支时起的文件夹名字即可。虽然两个文件夹不同,但是切换分
之后,还是会以Abc_SVN_Test为文件夹名,只是里面的内容变成了切换到的分支的内容。
注:切换分支后,我们的update、commit等基本操作,其作用范围只是当前分支,并不会影响其他分支。