作用:SVN是比較好的版本管理器,有效解決多人多版本的文檔和代碼管理,能解決衝突和管理分支;
架構:CS,BS都支持。
安裝包:一個服務器端安裝包,一個客戶端安裝包,一個簡體中文語言包;
部署:先安裝服務器程序,再安裝客戶端,再安裝語言包(程序--tortoise--settings--把英文改爲簡體中文),驗證安裝成功否:本地桌面右鍵有SVN checkout 和tortoise SVN 兩個菜單;
流程:啓動服務端的服務,端口號不能被佔用,服務端新建項目、用戶和組,賦予權限,本地使用SVNbrowser去操作。
可能常見問題歸因排查:
服務是否啓動,端口號是否被佔用,是否有此項目,是否創建此用戶,是否組內有此用戶,是否分配權限,是否權限合理,
簡單使用:
創建一個實例:
先創建庫將本地的文件夾import進SVN,也可以直接導入已存在庫import existing reportory;
再創建user和group,
再分配權限properties(只能選定文件夾對用戶或用戶組設置權限,不能選定用戶對不同文件
設置不同權限);
平時使用:
checkout:因原始版本上載SVN後不能實時更新,所以一般都會checkout到本地實時版本;
commit:修改後commit提交SVN;
update:多人共用SVN,保持與別人的一直,要經常update更新爲最新的版本;
export:下載到本地,與checkout不同的是,不與SVN關聯,不能實時更新;
add:本地新建文檔後,需要加入SVN,然後commit就提交到SVN了;
重命名:直接本地改文檔名,然後add--commit,重命名成功;
delete:本地刪除文檔後在文件夾空白處,右鍵commit;
鎖定:鎖定和鎖不是一個意思。一種是get lock(獲得鎖),解鎖定方法右鍵解除鎖定,或者在版本瀏覽器裏面看是誰鎖住了並右鍵破除鎖定;
lock:爲保證自己修改某文檔時,沒有人同步修改導致衝突,可以用鎖將文檔鎖住其他人就不能用了,方法:右鍵--屬性-新建--needs lock需要鎖--鎖定允許只讀,
特點:鎖是一次性行爲,鎖只對特點副本,鎖團隊中其他成員可以解鎖;
(1)簡單鎖文檔:文檔右鍵tortoiseSVN--getlock,此時其他人可編輯此文檔但不能commit,文檔沒有帶鎖的圖標,除非release lock;
(2)要想別人一眼就知道此文檔上鎖,文檔右鍵tortoiseSVN--properties--new按鈕--needs lock,這樣文檔帶鎖標誌;
解鎖:方法是右鍵--屬性--新建--needs lock--不需要鎖。先鎖定再needs lock,直接needs lock還是能被其他人修改提交成功。
conflicts:若commit時發現衝突,三種解決方案,(1)手動修改 edit conflicts,進入對比界面,左邊是SVN最新版本,右邊是自己的修改版本,選中文檔或代碼選擇用別人的還是自己的(2)將自己的修改覆蓋別人的修改,resolve--commit。(3)放棄自己修改使用別人修改,revert--update;
分支:一條用來寫新功能,一條用來改bug;還可以用其他分支策略;
6.複習:後面製作操作視頻,供分享和自己複習使用;
問題集錦:
若本地需要在幾個用戶身份之間切換,那麼就不要保存認證,方法:右鍵--settings設置--已保存數據--認證數據--全部清除;
版本瀏覽器看到的鎖定是右鍵--獲得鎖,文檔未置灰,此時若其他用戶提交修改則會衝突,需要與鎖主任溝通後解除鎖;
有時候版本瀏覽器沒看到哪個文檔被鎖,但有可能某文檔已經needs lock且文檔沒有變灰,這時