SVN是近年来很是优秀的版本管理工具,与CSV管理工具同样,SVN是一个跨平台开元版本控制系统,可是SVN不同凡响的是,SVN会备份并记录每一个文件每一次的修改更新变更。这样咱们能够把任意一个时间点档案恢复到想要的某一个旧版本,固然也能够直接浏览指定文件的更新历史记录。php
SVN服务搭建程序员
# yum install subversion -y # svnserve --version //查看版本
建立仓库目录repoweb
# mkdir -p /opt/svn/repo/ //建立目录 # svnadmin create /opt/svn/repo/ //建立新仓库 # ls !$ //查看上一次使用的路径
# vim /opt/svn/repo/conf/svnserve.conf //注意:下行的配置项前不能有空格与注释符 anon-access = none //匿名用户没有任何权限 auth-access = write //认证用户具备写权限 password-db = /opt/svn/repo/conf/passwd //用户密码文件 authz-db = /opt/svn/repo/conf/authz //用户信息文件
# svnserve -d -r /opt/svn/repo/ //关闭经过kill pid 或者pkill svnserve # netstat -tunlp | grep svnserve
# vim /opt/svn/repo/conf/passwd //建立帐户密码 [users] zhangsan = abc123 sysadmin = abc123 # vim /opt/svn/repo/conf/authz //建立权限文件 [/] //根目录 下面写入帐户及权限(r读 w写) zhangsan = r sysadmin = rw [/webphp] sysadmin = r zhangsan = rw # mkdir /opt/svn/repo/webphp # svn import webphp/ file:///opt/svn/repo/webphp -m "初始化SVN目录" //导入webphp
1. check out
检出得到文件后,检出的文件仍处于SVN版本控制中,与版本库保持关联,好比你能够进行Svn Update或者Svn Commit操做。同时导出文件夹下有一个.svn的隐藏文件夹,存储着一些版本的元数据信息。(对于导入到服务器中的数据,须要检出才能造成一个受svn控制的工做拷贝,才能够进行 add update commit 等操做)
2. export
简单导出一个版本的数据(把服务器中的数据导出来,至关于复制一份),导出的文件脱离SVN版本控制(导出的就是一个文件,与svn版本不要紧),导出后也没法进行Update和Commit操做。导出文件夹下没有.svn目录
3. import
仅仅是把文件导入到svn服务器中,而这个文件自己还只是一个普通的文件,与svn版本库没有关系(导入时须要svn服务器的地址,能够从服务器复制下来,在Repositories下的版本库右击复制)
4. add
把新建立的文件添加到缓存区(执行后显示一个加号),需commit提交才能真正上传到服务器(显示对号)
5. update
把服务器上最新的版本更新下来,好比别人上传的版本(通常提交以前需先更新,不然别人上传的新版本你没有更新下来就会被覆盖,别人上传的就丢失了)vim