1.VisualSVN server的使用
1.建立版本库
首先打开VisualSVN Server Manager,如图:
可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等。
要建立版本库,需要右键单击左边窗口的Repositores,如图:
在弹出的右键菜单中选择Create New Repository或者新建->Repository,进入下一步:
进入下一步:
仓库名写作:MyRepository,点击下一步:
选中Single-project repository,点击下一步:
点击Create,版本库就创建好了:
点击Finish,版本库中会默认建立trunk,branches,tags三个文件夹,如图:
svn://proj/|+-trunk+-branches+-tags
这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。
2.建立用户组和用户
在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create User或者新建->User,如图:
在弹出的对话框中填写User name和Password,然后点击OK,如图:
用相同的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Tester1,Tester2,Manager六个用户,分别代表3个开发人员,两个测试人员和一个项目经理,如图:
然后我们建立用户组,在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create Group或者新建->Group,如图:
在弹出窗口中填写Group name为Developers,然后点Add按钮,在弹出的窗口中选择三个Developer,加入到这个组,然后点Ok,如图:
用相同的方式创建组Managers,Testers。
3.设置用户用户权限
接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:
在弹出的对话框中,选择Security选项卡,点击Add按钮,选中Developers,Managers,Testers三个组,然后添加进来,给Developers,Managers权限设置为Read/Write,Tester权限设置为Read Only,Everyone权限设为No Access,如图:
4.导入项目到版本库
找到你需要导入的项目文件夹,在项目文件夹上点击鼠标右键,找到SVN菜单,选择导入,如图:
在弹出的对话框中填上版本库URL,这个URL可以从VisualSVN Server Manager中获取,在你的版本库上单击右键,选择Copy URL to Clipboard,这样就把版本库URL复制到你的剪贴版了。将复制的版本库URL粘贴上,在URL后面加上trunk子路径。然后在导入信息里面填上导入信息"第一次导入项目到版本库"。如图:
点击确定,所选中的项目就会被导入到版本库中。如图:(PS.导入过程需要用户认证,上文已经建立好了用户,选择一个用户登入即可)
至此,VisualSVN server服务器端已经搭建好。
2.TortoiseSVN的使用
1.检出代码
在桌面空白处单击右键,选择SVN检出,在弹出的对话框中填写版本库URL(具体获取方式,上面讲上传项目到版本库的时候讲过),选择检出目录,点击确定。如图:
开始检出项目,如图:(PS.检出过程需要用户认证,上文已经建立好了用户,选择一个用户登入即可)
检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹都有一个绿色的√。如图:
至此,创建版本库和使用TortoiseSVN导入项目,检出项目已经介绍完毕。
2.添加文件
在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态,如图:
这时候,你需要告知TortoiseSVN你的操作,如图:
加入以后,你的文件会变成这个状态,如图:
这时候使用TortoiseSVN进行提交。这样别人就能看到你所做的更改了。如图:
3.修改文件
使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,如图:
这个红色的叹号代表这个文件被修改了,这时候,提交更改,其他人即可看到你的更改。
4.重命名文件
使用TortoiseSVN更新,修改工作副本中的Readme.txt文件,加入"hello world!",然后保存,你会发现Readme.txt文件的图标改变了,此时的重命名文件和添加文件操作一致,此时你需要告诉TortoiseSVN你的操作:加入以后,提交,这时候版本库中的Readme.txt文件将会被重命名为"Readme1.txt"。
5.删除文件
使用TortoiseSVN更新,使用TortoiseSVN删除工作副本中的Readme.txt文件,然后提交,版本库中的相应文件即被删除掉了,如图:
6.写提交注释
为了以后你能更清晰的看到你所做的每一次更改的原因,你在每次提交的时候应该写上注释,而且尽量详细。如图:
但是,可能有的人因为觉得太繁琐,而不填写注释,这非常的不利于以后的版本控制,可以将强制在提交的时候写注释,首先单击右键,选择TortoiseSVN->属性,如图:
在弹出的对话框中,点击新建->日志大小,设置提交日志的最小字符数和锁定日志的最小字符数为10,提交文本框中显示边线的字符位置设置为100,勾选递归应用该属性值,点击确定,要将本地工作副本commit一下,才能生效,如图:
以后再次提交的时候,如果输入的注释少于10个字符,将无法提交。
7.冲突解决
冲突问题是最常见的问题,它是这样产生的,A用户check out了一个工作副本A,接着B用户又check out了一个工作副本B。然后A用户对副本A中的文件C做了修改(可以是内容修改,文件删除,重命名,以及位置移动),并且提交。这时候B用户也对文件C的相同部分做了修改,这时候如果B用户进行提交,会先被告知版本过时,要求更新,然后更新的时候会提示冲突了,这时候可以用冲突编辑器进行手动选择。