svn學習筆記(尚矽谷課堂)
svn:版本控制器
一、svn需求分析
1.1、資料備份
1.2、**還原
1.3、協同修改
1.4、多版本專案檔案管理
1.5、追溯問題**的編寫人和編寫時間!
1.6、許可權控制
二、svn工作原理
2.1、伺服器—客戶端工作模式 c/s架構
update:將本地的原始碼更新至伺服器上的最新版本
commit:將本地原始碼更新內容提交至伺服器
三、svn伺服器端安裝
3.1、visualsvn-server-2.1.3.msi啟動
3.2、設定安裝目錄(非中文,不帶空格)如d:\visualsvn server;
3.3、環境變數中配置path,d:\visualsvn server\bin;
配置path後即可在dos視窗任意目錄下執行改目錄下的可執行程式
四、建立svn的版本庫
4.1、建立資料夾d:\svnrep\project01(project01為某一項目的根目錄)
4.2、dos視窗:
d:cd\svnrep\project01
svnadmin create d:\svnrep\project01
4.3、倉庫建立完成
五、倉庫目錄
conf:配置檔案;設定許可權等需用到
db:儲存檔案,svn底層採用資料庫儲存檔案
hooks:鉤子程式
locks:檔案鎖定相關
六、啟動伺服器端程式
6.1、svn 伺服器必須處於執行狀態才能響應客戶端請求,
啟動svn有兩種方式:命令列方式、註冊windows服務
6.2、命令列方式
主命令:svnserve
引數1: -d (表示後台執行)
引數2: -r (表示版本庫根目錄)
引數3: 版本庫根目錄具體的實體地址(d:\svnrep\project01)
舉例: svnserve -d -r d:\svnrep\project01
若關掉該命令列視窗則服務關閉
6.3、測試服務是否啟動
該服務監聽3690埠,通過netstat -an命令檢視3690埠是否被監聽
6.4、將svn註冊為windows服務方式
命令列方式會隨著命令列視窗關閉而停止服務,
若註冊為windows服務則會隨著windows的啟動而啟動
註冊步驟如下:
dos:sc create svnservice binpath= "d:\visualsvn server\bin\svnserve.exe --service -r d:\svnrep" start= auto depend= tcpip
命令格式:
主命令:sc(windows命令)
子命令:create
引數1:服務名
引數2:binpath="執行服務所需要的二進位制檔案路徑以及該二進位制檔案的命令列引數"
引數3:start= auto(表示自動啟動)
引數4:depend= tcpip(表示依賴tcpip協議)
出現 [sc] createservice 成功 提示則表示建立成功
建立成功後可通過 執行 services.msc 命令檢視該服務並啟動
通過netstat -an命令檢視3690埠是否被監聽檢測服務是否正確啟動
七、命令列客戶端訪問
7.1、版本庫許可權設定
進行下列操作前需對匿名使用者進行許可權更改
倉庫conf/svnserve.conf
取消 anon-access 注釋並將 read改為write
7.2、命令列方式訪問伺服器
新建客戶端存放資料夾並進入改目錄
dos:svn checkout svn://localhost/project01
進入客戶端project01資料夾目錄
dos:svn commit -m "my first commit" hellosvn.txt
注:hellosvn.txt必須加入svn的管理中方能commit
dos:svn add hellosvn.txt
將該檔案加入svn管理中
更新工作副本
dos:svn update 或 svn update hellosvn.txt
若不指定具體檔案則更新所有工作副本
八、eclipse訪問svn
8.1、eclipse中安裝svn外掛程式
重啟eclipse
若eclipse中window-preferences-team中有svn,就表示裝好
8.2、eclipse中操作svn
右鍵指定專案—team—提交、更新等操作
九、解決衝突
9.1、提交時若有衝突則提交報錯,提示版本過時
解決辦法:更新當前專案
svn會在衝突**處同時顯示衝突部分**
svn會傳送原始版本、最新版本以及自己編輯的版本至本地
9.2、自行解決完衝突後 右鍵—team—標記為解決
9.3、提交
十、許可權問題
10.1、倉庫中conf\svnserve.conf檔案中設定許可權
anon-access = read/write/none (匿名訪問,設定為唯讀許可權或讀寫許可權)
auth-access = read/write/none (使用使用者名稱訪問,設定為唯讀許可權或讀寫許可權)
password-db = passwd (用passwd檔案儲存使用者名稱及密碼的資訊)
authz-db = authz (用authz檔案儲存授權的資訊)
首先開啟auth-access、password-db、authz-db三處注釋
之後在 passwd檔案(倉庫根目錄下)中新增使用者名稱及密碼,如 zhangsan = 123456;
之後再 authz檔案(倉庫根目錄下)設定使用者許可權
authz檔案中
[groups]用於設定一組人員,如: team1 = tom,jerry
[/foo/bar]指對根目錄下的foo下的bar目錄設定許可權
故 [/] 就表示對根目錄設定許可權
若對組設定許可權組名前需要加 @來標示,如 @team1 = rw
"rw"為讀寫,"r"為唯讀,
許可權設定完後需再加上 "* ="來標示遮蔽作用,意為僅有上面設定的使用者有許可權
SVN版本控制器(一)
介紹 svn,subversion,開源的版本控制系統,可以將資料恢復到早期版本,或者檢查資料修改的歷史,這些資料可以是源 也可以是其他型別的檔案。適用多人共同開發專案。功能 1 根據檔案修改的次數自動增加版本號以便找回歷史檔案 2 防止多人開發時同時修改一類檔案導致檔案覆蓋或被刪除 安裝 1 伺服...
安裝SVN版本控制器
早就想給自己做乙個版本控制系統.但是一直沒去做.最近程式改得多了.原來都是放在資料夾裡分類管理.標上更改日期.看得連自己都煩了.備份的時候還要打包.鬱悶.於是就花了點時間.在vm上建立乙個svn.哎.這回應該能省不少事了吧.開始時準備裝cvs.紅旗自帶1.11.0版本的.直接用就行.昨天是在網上參考...
svn版本控制器的搭建
svn是開發人員同時開發專案時 匯入匯出,衝突等問題subversion,visualsvn server 3.6.4 x64,屬於服務端 tortoisesvn屬於客戶端 安裝subversion,傻瓜式安裝即可,自動配置系統環境變數,控制台用 svn version,出現一系列資訊表示安裝成功 ...