今天咱們來聊聊svn的使用

前言:做爲一名碼農,若是你告訴你的小夥伴你不會使用版本控制,那麼你將會被小夥伴所鄙視,這個文章從區別帶你領略他們的優缺點.java

(一)git和svn之間的區別

  svn至關因而一個雲存儲,必需要藉助網絡,纔可以實時的更新和提交數據,版本放在了遠程git

  git至關因而一個本地存儲,在不提交和更新版本文件的時候,不須要藉助網絡,版本控制放在了本地web

(二)git和svn初始的使用步驟(前提是已經安裝了版本控制軟件,建議360下載)

  1.svn的步驟緩存

  • 創建你想變成版本控制的文件夾->cmd(管理員模式)執行svnadmin create 文件夾路徑(這裏要加入到環境變量)->svnserve -d -r 文件的路徑
  •   執行了svnserve -d -r會實時監控不要關閉這個窗口
  •  完成了這些步驟後會在同級的文件中生成一個帶有圖標的svn版本控制,在這個文件裏面就能夠進行提交
  •   建立兩個文件後,右鍵提交
  •   在沒有配置權限的時候,沒有提交的權限(下面會講到)

  2.git步驟網絡

  • 執行git init 把文件夾變成本地倉庫->git config --list  能夠查看當前用戶的信息->git config --global  user.name "用戶名"->git config --global  user.email "郵箱"

(三)svn權限的配置(匿名用戶與受權用戶)

  1.單倉庫匿名用戶app

  •   conf/svnserve.conf配置文件便可,把其中anno-access = read前面的註釋#號給去掉,把read改成write,以下:
  •   此時配置完畢就可以成功把文件提交到版本庫中了

  2.單倉庫受權用戶的設置svn

   須要修改倉庫conf目錄中的三個配置文件:svnserve.conf、passwd、authzpost

  •   

 

  •  

  注意:這裏在作檢出時候必須是svn://127.0.0.1,不然會出錯,並且有時候也要考慮到緩存的問題網站

 

 (四)SVN衝突的解決

  衝突出現的緣由是:因爲不一樣用戶對一個文件的同一行的內容進行的編輯,因此會出現衝突,後提交的用戶必需要解決衝突才能夠提交.spa

  解決的方法:1.強制的合併 2.提交前先更新數據

   把多餘的符號去除就能夠強制合併了

 

(五)版本回退

  •    
  •   這裏的版本回退應該是挺簡單的吧!

     

(六)部署多倉庫

  • 在這個倉庫下面進行創建多個文件(注意要開啓這個app的服務的監控)同時要把java兩個文件進行變成倉庫的操做svnadmin create D:\app 等
  •  能夠對應每一個倉庫進行檢出數據
  •   根據不一樣的用戶的進行倉庫權限設置(的開放)

 

(七)svn監管服務註冊成window系統服務

  
  以管理員的方式執行如下命令:    sc create SVNService binpath= "D:\svn\server\bin\svnserve.exe --service -r D:\app\" start= auto

  

  

(八)svn中的鉤子程序

  抽象介紹:所謂鉤子就是與一些版本庫事件觸發的程序,例如新修訂版本的建立,或是未版本化屬性的修改。每一個鉤子都會被告滿足夠多的信息,包括那是什麼事件,所操做的對象,和觸發事件的用戶名。經過鉤子的輸出或返回狀態,鉤子程序能讓工做繼續、中止或是以某種方式掛起。

   

  說的簡單點,咱們能夠利用鉤子在提交前或者是提交後作一些操做。如:

  • 利用提交前的鉤子讓用戶在提交代碼前強制用戶必須填寫備註信息(瞭解)。

  • 利用提交後的鉤子把svn倉庫代碼實時同步到網站web目錄(重點掌握,開發中使用較多

    修改兩個文件就能夠實現鉤子事件

 

  post-commit.bat內容爲:

SET SVN="D:\svn\sever\bin\svn.exe"
SET DIR="D:\local.com\blog"
SVN update %DIR% --username  dashen --password dashen123

 

 

   2.後鉤子

   

  

相關文章
相關標籤/搜索