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