1.SVN是什麼?版本控制工具
全稱:Subversion
版本控制工具:CVS→SVN→GIT
SVN主要在傳統開發團隊使用
CRM:客戶關系管理系統
ERP:企業資源計劃
OA:自動化辦公
PDM:産品設計管理
……
GIT主要在網際網路開發團隊使用
微信
京東
淘寶
陌陌
12306
……
2.版本庫
①作用:存放用戶端送出的檔案資料
②建立步驟
[1]手動建立一個普通的目錄
[2]執行svnadmin create 版本庫目錄的路徑
[3]建立成功後出現的新目錄和新檔案
3.啟動伺服器端程式
①指令行方式:svnserve -d -r 版本庫根目錄
缺陷:必須始終保持指令行視窗開啟
②驗證:檢視3690端口是否被監聽
③單倉庫/多倉庫
[1]單倉庫:啟動SVN伺服器時就将要使用的版本庫固定了。例如:上面指令中就限定死隻能通路CRM庫,不能另外通路ERP或其他版本庫。
[2]多倉庫:啟動SVN伺服器時不指定到具體版本庫本身,而是具體版本庫的上一層目錄。這樣,用戶端可以靈活的切換各個版本庫。
svnserve -d -r D:\RepSVN
[3]用戶端通路伺服器端時使用的URL位址
單倉庫:svn://localhost 隻能通路CRM
多倉庫:svn://localhost/CRM 通過URL位址靈活切換
多倉庫:svn://localhost/ERP
④注冊為Windows服務
[1]Windows服務是由C:\Windows\SysWOW64\sc.exe程式管理的。展現在指令行中是sc指令
[2]sc指令的子指令
sc create [服務名] 建立服務
sc stop [服務名] 停止服務
sc start [服務名] 啟動服務
sc delete [服務名] 删除服務
[3]sc create指令的用法
sc create SVNService binpath= "D:\DevInstall\Subversion\bin\svnserve.exe --service -r D:\RepSVN" start= auto depend= Tcpip
4.從指令行通路伺服器
①檢出
[1]指令:svn checkout svn://伺服器端實際位址/具體版本庫 儲存檢出結果的目錄
[2]效果:建立一個隐藏的.svn目錄。這個目錄中儲存了目前工作副本和伺服器端互動過程中的重要資訊。
[3]工作副本:包含.svn目錄的目錄
②送出
[1]指令:svn commit
[2]注意:進入到工作副本中執行
[3]執行送出操作前,要求被送出的檔案已經加入到版本控制體系中
svn add 檔案名
[4]需要使用-m參數指定日志資訊,作用是記錄本次送出所做的修改
[5]還必須具備相應的權限
到目前連接配接的版本庫的conf目錄下,找到svnserve.conf,打開匿名通路設定
原來:# anon-access = read
現在:anon-access = write
注意:鍵值對必須頂格,前面不能有空格
[6]最終的指令形式
svn commit -m 日志資訊 要送出的檔案
svn commit -m "My First Commit" Good.txt
③更新
svn update
△以下為重點
5.在Eclipse中使用SVN
①安裝插件:詳細步驟 自行百度 在此不做贅述
②建立工程:還是和以前一樣的方式建立,建立後分享到SVN伺服器上
在工程上點右鍵→Team→share project
③其他人通過檢出的操作從伺服器擷取這個工程
File菜單→import→svn→從svn檢出項目
④build目錄
[1]作用:存放編譯得到的.class位元組碼檔案
[2]不應該加入版本控制體系,原因是不同開發人員對源程式的編譯可能有出入。
[3]排除的操作步驟:build目錄上點右鍵→team→添加至:svn:ignore
6.沖突
①沖突的産生
[1]過時的檔案:在一個舊版本檔案的基礎上做修改,這個檔案就會過時。
[2]過時的檔案不能送出,必須先更新再送出
[3]檔案過時不一定沖突,但是沖突一定是先過時
不沖突:在不同位置不一緻
沖突:在相同位置不一緻
②沖突的表現
③沖突的解決
沖突檔案上右鍵→Team→編輯沖突→在對比視窗中修改→修改完成後關閉對比視窗
沖突檔案上右鍵→Team→标記為解決→OK
④沖突的避免
[1]盡量在修改檔案之前執行更新操作,在最新版的基礎上修改,避免檔案的過時
[2]盡量減少多人同時修改同一個檔案的可能性
[3]加強團隊溝通
7.權限 (注意:是版本庫的配置檔案)
①版本庫中與權限設定相關的檔案介紹
[1]svnserve.conf:總體配置
[2]passwd:管理使用者名密碼
[3]authz:配置設定權限
8.檢視資源曆史記錄
右鍵 team –> 顯示資源曆史記錄
①條目不可讀錯誤
解決辦法:将版本庫中conf目錄下的svnserve.conf檔案中的匿名通路設定為none
②版本回溯
選取其中你想要回溯的版本,再右鍵點選擷取内容即可