svn學習總結

2021-09-08 11:47:21 字數 2564 閱讀 7350

安裝svn subversion服務參考部落格

一:svn版本管理的作用

a:備份程式   專案開發過程中,防止不可控因素造成的資源丟失(斷電或者硬碟損壞)

b:**還原   恢復到之前的版本

c:協同修改    專案組共同開發時需要操作相同的檔案時

d:查詢編寫時間以及人員

e:實現增量式歸檔      f:許可權設定(讀寫)

二:svn常用的操作

1:checkout:檢出,將svn伺服器專案檢出到本地。

2:update:更新**,將組內別人寫的**更新。:

3:commit:將本地**提交到svn伺服器。

4:synchronized:同步,比較本地與伺服器**的區別。

三:svn伺服器的安裝 subversion

安裝完成後,會自動將subversion的路徑新增到環境變數

四:建立版本庫,用來儲存客戶端提交的檔案

最好是乙個專案對應乙個版本庫,版本庫的建立方式。

svnadmin create d:/subversion/oa

版本庫目錄:

conf:放置svn伺服器的配置檔案,例如許可權配置

db:客戶端提交檔案存放在db,等效資料庫

hooks:鉤子程式,相當於資料庫中的觸發器,提交完成後會

自動觸發一些時間,比如向專案經理傳送郵件等。可以在這裡

寫程式實現。

五:啟動伺服器,並且將服務新增到window服務中,開機自啟動

命令列啟動svn服務:svnserve -d -r  e:\svnrepository

svnserve :啟動svn服務的命令,因為已經配置到環境變數,所以在任何目錄下都可以啟動。

-d:是將svn服務作為後台服務模式啟動。 daemon:後台

-r:是svn的根目錄 root:根

e:\svnrepository :是版本庫的位址,版本庫下會有對應多個專案的子版本庫,這種

啟動模式是多倉庫。

svn服務預設埠3690,可以通過netstat -ano 命令檢視。

設定成windows服務,開機自啟動,參考:

sc create svn binpath= "d:/subversion/bin/svnserve.exe --service -r e:/svnrepository" displayname= "svnservice" depend= tcpip start= auto

sc :該命令是window自帶的命令,

binpath:是啟動命令服務所在路徑。

displayname:在window服務中顯示名稱

depend:服務端和客戶端通訊所依賴的協議

start:是否開機自啟

svn:在任務管理器中服務顯示svn,在服務中顯示svnservice

注意:將svn服務設定成window服務需要管理員許可權,只需要命令列有管理員許可權即可。

六:通過埠查詢服務

netstat -ano|findstr 3690 通過3690埠查詢該埠的pid程序號2068

tasklist|findstr 2068 通過pid程序號查詢服務名稱

七:eclipse外掛程式安裝

八:eclipse直接把專案匯入svn版本樹svn://localhost/ :直接定位到windows服務配置的版本庫目錄,然後在拼接上healthcare,讓它能夠定位到子倉庫。

在使用eclipse提交專案到版本庫的過程中,需要在conf目錄下配置許可權,才能提交。

九:遇到衝突

當專案組內的兩個使用者同時操作乙個檔案時(通常是公共檔案),就會起衝突。

解決方法:通過同步比較,顯示自己修改的地方,複製下來,然後覆蓋更新,更新後,在將複製下來的內容修改

到檔案中,然後在提交,問題解決。

十:許可權問題

conf目錄下svnserve.conf配置,如果是匿名,那麼任何使用者都可以進入,進行讀或者寫操作。

anon-access = write 匿名寫操作  匿名使用者可以執行讀寫操作

auth-access = write 許可權寫操作  授權使用者可以執行讀寫操作

password-db = passwd 配置使用者密碼在passwd檔案

authz-db = authz 配置許可權在authz檔案

十一:**還原

team——顯示歷史內容——獲取內容

在這裡要修改svnserve.conf配置檔案,匿名進入為none

十二:單獨的客戶端介面

SVN學習總結

前言敲重構的時候,興軍就讓我了解了解svn,當時大概查了一下,就知道svn合作做專案肯定要用到的。什麼是svn svn是版本管理工具,svn版本管理工具管理著隨時間改變的各種資料。這些資料放置在乙個 資料檔案庫中,這個檔案庫很像乙個普通的檔案伺服器或者ftp伺服器。但是與其他伺服器不同的是,svn會...

SVN學習總結(2) SVN衝突解決

在我們用vs進行專案合作開發的過程中,svn的提交控制是至關重要的,大家不可避免的都遇到過svn衝突的問題,開發的時候,應該認真學習svn的知識,減少衝突,集中時間放在開發上。a 放棄自己的更新,使用svn revert 回滾 然後提交。在這種方式下不需要使用svn resolved 解決 b 放棄...

svn 命令集合 學習總結

svnadmin create path to repos 注意path to這個目錄必須已經建立 建立要匯入的檔案樹 project trunk project tags project branches 匯入主庫 svn import tmp project file f svn repos m...