SVN筆記

  1. 作用:SVN是比較好的版本管理器,有效解決多人多版本的文檔和代碼管理,能解決衝突和管理分支;

  2. 架構:CS,BS都支持。

  3. 安裝包:一個服務器端安裝包,一個客戶端安裝包,一個簡體中文語言包;

  4. 部署:先安裝服務器程序,再安裝客戶端,再安裝語言包(程序--tortoise--settings--把英文改爲簡體中文),驗證安裝成功否:本地桌面右鍵有SVN checkout 和tortoise SVN 兩個菜單;

  5. 流程:啓動服務端的服務,端口號不能被佔用,服務端新建項目、用戶和組,賦予權限,本地使用SVNbrowser去操作。

    可能常見問題歸因排查:

    服務是否啓動,端口號是否被佔用,是否有此項目,是否創建此用戶,是否組內有此用戶,是否分配權限,是否權限合理,


  6. 簡單使用:

    創建一個實例:

     先創建庫將本地的文件夾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.複習:後面製作操作視頻,供分享和自己複習使用;

問題集錦:

  1. 若本地需要在幾個用戶身份之間切換,那麼就不要保存認證,方法:右鍵--settings設置--已保存數據--認證數據--全部清除;

  2. 版本瀏覽器看到的鎖定是右鍵--獲得鎖,文檔未置灰,此時若其他用戶提交修改則會衝突,需要與鎖主任溝通後解除鎖;

  3. 有時候版本瀏覽器沒看到哪個文檔被鎖,但有可能某文檔已經needs lock且文檔沒有變灰,這時

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章