svn是一个项目管理工具,和代码提交管理的服务器
需要安装svn服务器,下载地址:http://subversion.apache.org/download.cgi#recommended-release
安装完成后需要重新启动计算机。
命令行查看svn的版本 :
svn客户端clicent,在D:盘建立zhangsan和lisi文件夹,
svnadmin --version:查看Subversion版本
添加一个svn服务器:
svn create d:\repository\svn
搭建SVN版本库服务器端时需要启动建立好的版本库服务。
命令:svnserve-d-r版本库路径
我们cd到zhangsan的文件夹下:
svn checkout svn://localhost/mysvn . 意思是,从本地上迁入。
假设zhangsan开发A.java,李四开发B.java,我们要提交到svn服务器
我们需要把A.java加入到版本控制。这样我们才能提交和管理a.java类,使用svn add A.java纳入版本控制。
我们使用zhangsan提交A.java
svn commit -m "init A.java" A.java
这时候会报错误:
权限的问题需要,把mysvn的服务器中conf中的conf中修改。anon-access = write这时候就可以了
这时候lisi也可以提交代码,
把lisi开发的B.java加入到svn服务器,svn add B.java
这时候lisi更新了B.java我们使用svn update B.java来进行更新
如果我们需要需要删除一个B.java svn delete B.ajva 这时没有真正删除,等到下次commit提交时会删除B.java,可以使用svn revert B.java来恢复B.java这些是基本的命令,为了启动方便我们把svn-service注册成windows的系统服务,使用一下命令,sc create SVN-Service binpath= "E:\Subversion\bin\svnserve.exe --service -r D:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip
第一个路径是Subversion的安装目录
第二个路径是你的仓库路径,
下面介绍使用TortoiseSVN(客户端)来使用svn,Subversion的版本要高于或等于TortoiseSVN的版本,不然会报错的,安装好TortoiseSVN要重新启动计算机,下载链接:http://tortoisesvn.net/downloads.html
1. 我们在repository的下面建立一个test的仓库:如果注册到了windows的下了把svn,服务是默认已经打开了
2.我们在client的文件夹下创建一个客户端用户zhangsan,只需要创建一个文件夹即可,
3.从svn服务器上checkout数据,进入张三文件夹
URLOf repository的路径就是你的svn服务器下面的一个仓库:
出现这就表示checkout成功,这时候zhangsan就和svn服务器联系起来了,
4.我们用zhangsan建立一个A.java然后把A.java提交到svn服务器,需要add
这时候图标编程带有加号的
5.我们使用svn commit提交:
红色区域是写信息的地方-m
6.会出现错误:
认证失败解决方法,找到test文件夹下的conf文件夹下
(1.)修改svnserve.conf
(2).修改passwd
(3)修改authz
第一个红框是添加一个组,组中的用户有一个zhangsan,下一个是权限分配的问题,注意groupName前面的@
7.回到5步,
用户名和密码 ,save 的时候最好这里不要打勾到lisi测试的时候不好测试
这时候就成功了,
8.如果我们更新的A.java这个类,下班的时候需要提交,这时候用upadate就可以了,这时图标会变化,
使用svn-update来进行更新,但是更新好后需要提交后才能提交到svn服务区,图标才会改变,和删除时是一样的,
删除:
删除后如果没有提交的话,可以恢复,
显示各个版本使用show-log
我们可以再建立lisi用户进行测试,
9.有一个问题就是当我们zhangsan修改了A.java后,提交后,lisi有修改了B.java则会出现问题,
进入
解决方法:
第一个是删除别人的写的,第二个用自己的,第三个添加到下面吧这一行,一般都是用第三个和第四个
可能出现这样问题我们解决方法,
我们在编辑之前枷锁的方式来lock住它,
这时候别人再提交就会
,
来防止上面的问题,如果你需要修改测要获得锁,但是前提那边需要释放锁,其操作都是差不多 ,
下面的eclipse和apache的整合见另一篇文章,