窗体顶端
VisualSVN Server+TortoiSVN基本使用
说明文档
1.安装VisualSVN Server服务器端:
1).下载VisualSVN Server
2).安装
2.安装TortoiSVN
1).下载TortoiSVN
2).安装
3.配置项目工程并设置用户权限
1).安装完成后打开程序出现该界面
2).新建项目工程
3).新建用户
4).新建用户组
5).设置用户权限
这时候设置Developer1为Read/Only,tester1权限为Read/Write或者反过来都可以.
针对于单个文件或文件夹的权限设置:只需要在对应的用户权限下设置Read/Only或者
Read/Write,这个时候没有权限的用户就提交不了,为了避免出现提交问题,最好在提交或者获取版本的时候不要保存密码,如果保存了在新的一次提交的时候要清除保存的密码.步骤如下:
4.导入项目
导入成功后:
4.迁出项目
1).把项目迁出到D盘新建一个文件夹叫testNameDir1里面
迁出来后的项目:
项目迁出成功后,接下来就是对项目副本进行操作:
1).Merge--版本合并
建立一个文件夹testNameDir2如上操作,同样的操作迁出项目副本
1.1 最常用的merge方式就是以下两种:
(1).Merge a range of revisions
我的理解是可以合并一系列的不同版本,将不同版本上与本版本的不同之处进行合并。
(2).Reintegrate a branch
就是将分支版本上的修改返回到创建该分支版本的源版本,即主干版本或者其他。要使用这个方法要求这个分支版本不能再有任何本地修改,必须是一个单独的版本,不能有任何分支子版本。而且这个版本号必须高于或者等于要融合的最后的版本号。
1.2 常见问题解析:
1.2.1 代码过时。通常会表现为当我们修改了某个文件的某段代码后准备提交时,当点击“commit”时提示part of your code is out of date。这说明我们在对这个文件进行修改时,同时有另外的成员在对这个页面进行修改,这时我们需要首先获取一
下最新版本,如果别的成员做过的修改恰好是我们改动的部分,就会有形如“>>>>mine”和“<<<>>>mine”下面的表示我们的代码,而“<<<<xxxx”下面的表示其他成员更改的代码。这时我
们需要分析决定怎样处理这个错误,处理后要将“>>>>mine”和“<<<
1.2.2 修改冲突。有时候我们修改完毕以后将我们的工作提交后才获取最新版本(一般不提倡,最好的做法是提交前先获取最新版本,如果有问题处理问题),获取后开始 “重新生成解决方案”出现了我们的web项目BlackJack.Web.csproj无法加载。
这是由于我们做了自己的修改提交前并没有及时获取最新版本,导致代码中有重复修改的地方。这时我们需要右击BlackJack.Web.csproj有个选项是“编辑BlackJack.Web.csproj”,然后在打开的文件中搜索“mine”(目的是找到冲突地方),
找出后进行分析取舍,完成后再次“重新生成解决方案”后加载web项目,这时就会出现,但因为代码中的冲突依然存在因此会有“!”提示我们,找到相关的冲突的文件处理后会发现文件前的图标变成了红色小方框,代表冲突解决我们就可以编译后提交了。
1.1).当两个人A和B操作同一个文件a,A先修改了a文件并提交,B不知道A修改了a,此时版本号已经递增了1,B提交文件才发现提示"part of your code is out of date",这个时候我们就应该获取新版本,并且手动
编辑冲突,编辑完成后,编辑的文件右键点击Resolved,代表已经解决了冲突,最后提交commit
1.2).二进制文件和不适合编辑的文件适合用锁定--编辑--解锁模型
合并实例:
1).修改testNameDir1里面的文件新建 文本文档.txt,然后修改testNameDir2里面的新建文本文档.txt,然后提交testNameDir2里面的副本
提交完成之后,然后提交testNameDir1里面的副本(由于A和B都同时协同开发新建 文本文档.txt文件,并不知道这个文件已经更新了),结果发生了一下冲突
此时会生成一下几个冲突文件
这时候怎么解决?
找到发生冲突的文件,右键点击TortoiseSVN--Edit Conflicts编辑手动编辑冲突
这时就会弹出编辑冲突的页面,其中,代表已经增加一行,代表已经删除一行,代表此行已经通过恢复到原始内容而撤销修改。
代表的是此行只有空白的修改,没有实质代码的改变,代表的是处于冲突状态,此行已经使用 TortoiseMerge 作为文本编辑器手工修改,
代表的是行处于冲突状态,但是被空白或行结束符的设置掩盖。
这时候第二行处于冲突状态
编辑冲突,右边窗口右键点击Use this text block,将自己的代码显示在可编辑区域,对应的选中区域就在下面可编辑区域,然后改为正确的文件
左边窗口右键点击Use this text block,是将其他人改的显示在下面的可编辑区域
点击Use this whole file的作用是将自己的或者别人的代码全部显示在下面的可编辑区域
点击Use text block from 'mine' before 'theirs'的作用是将自己的和其他人的代码全部显示在可编辑区域,但是自己的代码在前面
点击Use text block from 'theirs' before 'mine'的作用是将自己的和其他人的代码全部显示在可编辑区域,但是别人的代码在前面
这个时候编辑完成之后,就保存文件,然后选中冲突文件右键点击Resolved,代表已经解决了冲突,如下图所示
伴随着自动生成的几个冲突文件就会消失,然后提交覆盖原来的文件,这个时候就已经解决了冲突问题
</xxxx”下面的表示其他成员更改的代码。这个时候就已经解决了冲突问题
窗体底端