版权声明:本文为博主原创文章。转载请注明出处。 https://blog.csdn.net/Jerome_s/article/details/27950055
Subversion(简称 )安装 subversion软件下载安装 http://subversion.tigris.org
我们使用版本号Setup-Subversion-1.6.5.msi
我的网盘下载地址:http://www.kuaipan.cn/file/id_98175943000078380.htm?source=1
双击安装Setup-Subversion-1.6.5.msi
命令模式:
Subversion 组件 server组件 (管理员使用) server端命令 svnadmin:用来调整和修正svn档案库的工具
svnserve:一个独立的server程序, 能够作为server行程运行, 或是被 SSH 启动; 还有一个让你的档案库在网络上可供其他人存取的方法.
client组件(用户使用) client命令
svn:命令行client程序。这是用来管理数据的主要工具。
SVNserver端经常使用操作
验证svn安装是否成功:svnadmin –-version。创建svn的数据仓库:svnadmin create C:\repository\svn\hqu (\repository\svn必须存在);
配置文件说明:C:\repository\svn\hqu\conf
启动svn服务:svnserve -d -r C:\repository\svn\hqu [单仓库] 启动svn服务:svnserve -d -r C:\repository\svn [多仓库] 验证svn启动是否成功: svn默认port是3690,新建一个控制台,netstat –an 看到3690; 将第一个控制台关闭,svn就关闭了在第二个控制台netstat –an 没看到3690; 说明服务启动成功; 说明: svnserver启动 cmd命令行启动:svn 仓库权限配置
svnserve.conf 定义全部认证和授权政策
passwd 存放项目成员帐户信息
authz 主要是做复杂的群组权限控制
DB文件夹:存放数据的(二进制)
svnserve -d –r 文档仓库路径 -d 后台运行-r 版本号库的根文件夹
SVNclient经常使用操作
以下举例: 新建一个zhangshan的client: 新建文件夹 C:\client\zhangshan 控制台进入该文件夹 第一次使用 checkout: 前面启动的是单仓库:svn checkout svn://127.0.0.1 . (后面.表示取来放到当前文件夹) svnserver还没东西。所以没下载东西,zhangshan文件夹下隐藏文件.svn。是建立两port联系的。
.svn这个隐藏文件夹记录着两项关键的信息: 工作文件的基准版本号和一个本地副本最后更新的时间戳。千万不要手工改动或删除这个 .svn隐藏文件夹和里面的文件!
!! 否则将会导致你本地的工作拷贝 (静态视图)被破坏,无法再进行操作。
将服务端改成多仓库svnserve -d -r C:\repository\svnclient使用svn checkout svn://127.0.0.1/hqu . 总结:clientcheckout:svn checkout svn://ip:port/repName . zhangshan開始工作。下班直接提交就能够 1. 自己新建的类a.java,不是checkout下来的要先纳入版本号控制:svn add a.java 2. 认证授权:在server端改动配置文件授权,在C:\repository\svn\hqu\con\ svnserve.conf第十二行改动为:anon-access = write (匿名用户写的权限);实际开发不这样做。这里实验能够; 3. 提交:svn commit –m “zhangshan init a.java” a.java 这样就能够下班回家了~ 总结: client提交文件:svn commit -m "message" fileName 将文件纳入版本号控制:svn add fileName
新建一个lisi的client:
李四开发了一个b.java 纳入版本号控制:svn add b.java 提交:svn commit –m “lisi init b.java ” b.java 下次张山来上班,张山李四都已经和server联系起来了: checkout仅仅做一次。这次张山仅仅要update就能够了 控制台进入zhangshan文件夹运行:svn update 就能够更新全部最新版本号了; 总结: client更新文件:svn update [fileName] client删除文件:svn delete fileName client恢复文件:svn revert fileName 注意:仅仅能恢复未提交的文件 client提交:svn commit –m “xxxx” svn经常使用命令 svn checkout -从版本号库取出一个工作拷贝 svn commit -将改动的文件提交到版本号库 svn update -更新你的工作拷贝 svn add-向版本号库中加入新文件 svn delete-从版本号库中删除文件新建文件夹 C:\client\lisi控制台进入该文件夹第一次使用 checkout:svn checkout svn://127.0.0.1/hqu .下载了最新版本号:
svn revert-取消全部的本地编辑
Subversion文件夹规范
创建三个顶级文件夹
/trunk 存放开发的“主线”
/branches 存放支线副本
/tags 存放标签副本
将SVN服务注冊到windows系统服务中
svnserver端的窗体不小心关闭了,服务就停止了, 注冊win系统服务:(用管理员身份运行cmd)
sc create SVN-Service binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r C:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip创建成功:在计算机服务里面能够看到SVN-Service;
能够删除一个服务: sc delete SVN_Service