SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統(tǒng),相較于RCS、CVS,它采用了分支管理系統(tǒng),它的設計目標就是取代CVS。互聯(lián)網(wǎng)上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用于多個人共同開發(fā)同一個項目,共用資源的目的。
運行方式:
svn服務器有2種運行方式:獨立服務器和借助apache運行。兩種方式各有利弊,用戶可以自行選擇。
數(shù)據(jù)存儲:
svn存儲版本數(shù)據(jù)也有2種方式:BDB(一種事務安全型表類型)和FSFS(一種不需要數(shù)據(jù)庫的存儲系統(tǒng))。因為BDB方式在服務器中斷時,有可能鎖住數(shù)據(jù),所以還是FSFS方式更安全一點。
工作流程
集中式管理的工作流程如下圖:
集中式代碼管理的核心是服務器,所有開發(fā)者在開始新一天的工作之前必須從服務器獲取代碼,然后開發(fā),最后解決沖突,提交。所有的版本信息都放在服務器上。如果脫離了服務器,開發(fā)者基本上可以說是無法工作的。下面舉例說明:
開始新一天的工作:
1、從服務器下載項目組最新代碼。
2、進入自己的分支,進行工作,每隔一個小時向服務器自己的分支提交一次代碼(很多人都有這個習慣。因為有時候自己對代碼改來改去,最后又想還原到前一個小時的版本,或者看看前一個小時自己修改了哪些代碼,就需要這樣做了)。
3、下班時間快到了,把自己的分支合并到服務器主分支上,一天的工作完成,并反映給服務器。
搭建SVN服務器
機器環(huán)境:Win7 64位
Eclipse:Neon.1a Release (4.6.1)
在Win7上安裝SVN server作為搭建代碼服務器,在另外一臺機器上提交代碼進行測試。
一、SVN服務器配置
1.1下載與安裝
到VISUALSVN SERVER官網(wǎng)下載SVN服務器安裝包,下載地址:https://www.visualsvn.com/server/download/
下載后一路下一步,之后啟動VisualSVN Server Manager。
1.2用戶管理
點擊users會彈出添加新用戶對話框,設置username、password。
1.3創(chuàng)建倉庫
點擊repositories,右鍵,創(chuàng)建新的倉庫。文件系統(tǒng)選擇Regular FSFS repository。
下一步,設置倉庫的名稱:
下一步,選擇帶有分支、標簽、主分支的目錄結(jié)構(gòu):
下一步,設置所有用戶都有讀寫權限。
最后,點擊create,倉庫創(chuàng)建完成。
現(xiàn)在我們已經(jīng)搭建好了一個SVN服務器,下面看看如何提交代碼。
二、Eclipse中使用SVN
2.1安裝Eclipse SVN插件
到Eclipse Market搜索SVN,找到Subversive-SVN Team Provider插件,安裝即可。
2.2提交Eclipse java代碼到SVN
首先在Eclipse創(chuàng)建一個Java工程:
把這個java 工程提交到SVN。單擊工程名,右鍵,team->Share Project->SVN->Create a new repository,之后會彈出來一個如下所示的對話框。URL是SVN服務器上的倉庫地址(倉庫地址可以通過單擊倉庫名稱,右鍵,”Copy URL to Clipboard”獲取,獲取的是本機的pc名加svn 地址:https://elk-PC/svn/ucas/,用本機IP替換pc名:https://192.168.1.102/svn/ucas ):
authentication填寫用戶名和密碼:
下一步,設置工程路徑:
點擊finish,彈出如下所示的窗口。在這里可以添加注釋,選擇提交哪些文件。.setting、.classpath、.project不是我們需要的,不勾選。然后點擊finish就完成了代碼提交。
刷新SVN中的倉庫,可以看到提交的工程文件。
三、文件更新、對比
本地代碼更新以后,如何同步到SVN呢?
3.1更新文件后commit
新增的文件或者本地文件修改以后,單擊該文件然后右鍵,Team-Commit,之后填寫注釋,提交即可。
3.2本地文件和線上文件對比
一個項目一般會有多個人同時開發(fā),如果線上的代碼更新,如何把本地文件和SVN服務器上的文件對比呢?
可以單擊文件名,右鍵->Team->Synchronize With Repository,選擇SVN中的文件和本地文件進行對比,如下圖所示:
四、導入SVN工程到Eclipse
把本地的工程刪除,演示一下如何從SVN倉庫中下拉代碼到Eclipse中。
第一步,file->import->SVN->Project from SVN
然后Create a new repository,填寫SVN工程地址:
點擊finish之后會彈出”Check Out As”對話框。這一步用于設置導入的工程類型,選擇第一個:
下一步會彈出工程類型的選擇,這一步要結(jié)合工程類型來選擇,因為代碼是java工程,選擇Java Project即可。
如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網(wǎng)友會為你解答??! 點擊進入論壇