(7)客户端提交文件
命令:svn commit -m \
其中-m表示需要为提交或操作服务器的文件做必要的说明。 这里不要执行:
按照要求,我们执行:
此时说明没有zhangsan这个用户的,这里必须要在服务端配置zhangsan的用户、权限才可以访问。
重点:修改服务器端配置:
修改itcast/conf文件夹下的svnserve.conf文件,配置:
其中anno-access = read表示匿名用户,为匿名用户从read(读)定义成write(写)的操作。
此时再次执行:svn commit –m ―zhangsan init A.java‖ A.java,可以看到提交服务器成功。
(8)从服务器端获取代码
命令:svn checkout svn://ip/repositoryName 使用lisi的账号,获取zhangsan提交的代码。
这样在E:\\svnclient\\lisi可以看到:
如果lisi在本地写一个文件B.java,然后将B.java也上传到服务器,重复上面的命令,如图:
注意:你会发现提交后的版本变成2,说明服务器只要发生变化了,都会产生一个新的版本
(9)本地更新服务器上最新的代码
命令:svn update(更新所有文件) svn:update [filename] (更新指定的文件)
此时在E:\\svnclient\\zhangsan的目录下,会看到:
总结:一般我们执行svn checkout svn://ip/repositoryName命令只要一次,就相当于和服务器取得连接,以后都会执行svn update,用来更新服务器端最新的代码。
(10)删除服务器上的代码
命令:svn delete filename
可以看到E:\\svnclient\\lisi下没有B.java
注意:真正的项目中,尽量不要使用delete语句,这样很容易误删,如果误删多了,恢复起来很麻烦,让它多着去吧,也不差这1,2个文件。
(11)恢复服务器上误删的代码
命令:svn revert filename
可以看到E:\\svnclient\\lisi下又会出现B.java
注意:只能恢复提交之前的状态,如果删除代码已经提交(commit),那么将不能再恢复 例如:如果执行删除(delete),然后提交(commit),再恢复(revert),则不能再次恢复B.java文件。
可以看到E:\\svnclient\\lisi不会会出现B.java
(12)其它命令
命令:
svn info-显示本地或远程条目的信息
svn list-列出版本库目录的条目
svn status-查看当前工作区状态
svn help-获取帮助信息