一、首先准备三个软件:
1.VisualSVN-Server-4.0.2-x64.msi(svn服务端)
2.TortoiseSVN-1.12.0.28568-x64-svn-1.12.0.msi(svn客户端)
3.LanguagePack_1.12.0.28568-x64-zh_CN.msi(TortoiseSVN 的汉化包)
软件下载地址:http://subversion.apache.org/packages.html,滚动到最下面
接下来是TortoiseSVN汉化包,跟TortoiseSVN同一个页面要点击: https://tortoisesvn.net/downloads.html
二、安装
好了,接下来是具体的安装过程,安装顺序是
1.VisualSVN-Server-4.0.2-x64.msi(svn服务端)
2.TortoiseSVN-1.12.0.28568-x64-svn-1.12.0.msi(svn客户端)
3.LanguagePack_1.12.0.28568-x64-zh_CN.msi(TortoiseSVN 的汉化包)
1.安装:VisualSVN-Server-4.0.2-x64.msi
Location是指VisualSVN Server的安装目录,Repositorys是指定你的版本库目录.Server Port指定一个端口,Use secure connection勾山表示使用安全连接,点击Next,进入下一步,
Use Subversion authentication 表示使用Subversion自己的用户认证.
2、VisualSVN Server Manager使用
2.1 创建仓库
首先打开VisualSVN Server Manager,如图:
可以在窗口的右边看到版本库的一些信息,比如状态,日志,用户认证,版本库等.要建立版本库,需要右键单击左边窗口的Repositores,如图:
当然,你可能发现没有看到东西,那是我们还没设置账号和密码
2.2 创建用户
添加user 如下:
用相同的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六个用户,分别代表3个开发人员,两个测试人员和一个项目经理,如图:
2.3 创建用户组
然后我们建立用户组,在VisualSVN Server Manager窗口的左侧右键单击用户组,选择Create Group或者新建->Group,如图:
用相同的方式创建组Managers,Tests,如图:
2.4 设置访问权限
接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:
在弹出的对话框中,选择Security选项卡,点击Add按钮,选中Developers,Managers,Tests三个组,然后添加进来,给Developers,Managers权限设置为Read/Write,Tests权限设置为Read Only,如图:
3、安装TortoiseSVN
双击安装包,进入下一步.如图:
注意:不勾选的话,svn安装路径里面找不到svn.exe, idea的版本控制里面,就无法把本地安装的svn集成进去,所以此处必须要勾选
4、安装简体中文语言包
语言包安装完成以后在桌面任意空白地方单击鼠标右键,会在右键菜单里找到SVN,如图:
三 操作项目
3.1将项目导入到版本库
找到你的项目文件夹,在项目文件夹上点击鼠标右键,找到SVN菜单,选择导入,如图:
在弹出的对话框中填上版本库URL,这个URL可以从VisualSVN Server Manager中获取,在你的版本库上单击右键,选择Copy URL to Clipboard,这样就把版本库URL复制到你的剪贴版了.如图:
项目导入到版本库以后,不能随便让谁都能够读写版本库,所以这是之前建立用户组和用户目的
3.2用客户端去检出代码
在任何一个文件夹里单击右键,选择SVN检出,在弹出的对话框中填写版本库URL(具体获取方式,上面讲上传项目到版本库的时候讲过),选择检出目录,点击确定.如图:
检出完成之后,我们打开工作副本文件夹,会看到所有文件和文件夹
至此,创建版本库和使用TortoiseSVN导入项目,检出项目已经介绍完毕.
3.3 TortoiseSVN使用
接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等.
添加文件
修改文件
使用TortoiseSVN更新,修改工作副本中的文件,然后保存,右键,点击提交,如图:
重命名文件
删除文件使用TortoiseSVN更新,使用TortoiseSVN删除工作副本中文件,然后提交,版本库中的相应文件即被删除掉了,如图:
冲突解决
冲突问题是最常见的问题,它是这样产生的,A用户check out了一个工作副本A,接着B用户又check out了一个工作副本B.然后A用户对副本A中的文件C做了修改(可以是内容修改,文件删除,重命名,以及位置移动),并且提交.这时候B用户也对文件C的相同部分做了修改,这时候如果B用户进行提交,会先被告知版本过时,要求更新,然后更新的时候会提示冲突了,这时候可以用冲突编辑器进行手动选择.
四TortoiseSVN客户端重新设置用户名和密码
在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个选项是保存认证信息,如果选了这个选项,那么以后就不用每次都输入一遍用户名密码了。
不过,如果后来在服务器端修改了用户名密码,则再次检出时就会出错,而且这个客户端很弱智,出错之后不会自动跳出用户名密码输入框让人更新,我找了半天也没找到修改这个用户名密码的地方。
最终,找到两种解决办法:
办法一:在TortoiseSVN的设置对话框中,选择“已保存数据”,在“认证数据”那一行点击“清除”按钮,清楚保存的认证数据,再检出的时候就会重新跳出用户名密码输入框。
如果方法一不起作用,则可以采用方法二:
Tortoise的用户名密码等认证信息都是缓存在客户端文件系统的这个目录:
C:\Users\jiang\AppData\Roaming\Subversion\auth
删除auth下面的所有文件夹,重新连接远程服务器进行检出,对话框就会出现!