1、SVN的概述
svn是Subversion的簡稱,它是一個自由/開源的版本控制系統,一組文件存放在中心版本庫,記錄每一次文件和目錄的修改,Subversion容許把數據恢復到早期版本,或是檢查數據修改的歷史,Subversion能夠經過網絡訪問它的版本庫,從而使用戶在不一樣的電腦上進行操做。html
2、SVN客戶端的下載與安裝
下載地址:https://tortoisesvn.net/downloads.zh.htmljava
在此安裝我就不作詳細介紹,svn安裝以後桌面空白處右擊鼠標會有對應的SVN Checkout和TortoiseSVN,這個說明你已經安裝成功。安裝成功後從新啓動電腦(不重啓,可能會致使相關的圖標不顯示,若是重啓仍是沒有,請作修改對應的註冊表,參考:https://jingyan.baidu.com/article/27fa73268648e846f8271f8f.html)。服務器
3、SVN的體系結構
如圖所示,經過svn客戶端訪問svn服務能夠從svn倉庫中檢出/更新代碼到本地,也能夠將本地代碼提交到svn倉庫。網絡
4、SVN使用
1.svn的拉取項目ide
首先須要準備一個空白文件夾,右擊文件夾選擇SVN Checkoutsvn
輸入倉庫地址(地址向你的項目經理要),更換路徑,選擇head revision 最新版本,點擊OK,第一次拉取須要登陸工具
輸入用戶名和密碼(改用戶名和密碼),點擊ok,拉取過程有點慢,靜靜等待...idea
這裏拉去的是五個項目,第一次拉取,全是對鉤,表示已經與svn服務器爆出同步,這裏出現!是由於我修改了項目的文件,與服務器不一樣。點進入一個項目,在項目的第一個文件.svn文件這裏咱們不要點擊它,不能進行任何修改,咱們就當忽略它。其餘的目錄即時咱們要的項目,在公司裏,天天早上第一件事,就是須要拉取一下最新的代碼,但這裏咱們就不用在此checkout,而是選擇SVN update,更新一下就OK了。spa
2.將本地新建文件添加到svn服務器上
首先咱們在該管理文件下,新建一個文本,咱們首先右擊該文本選擇TortoiseSVN,選擇add,該文本會出現一個藍色的加號標誌,這個時候咱們右擊該文件選擇SVN commit.net
咱們每一次提交,都須要寫提交的說明信息,注意是每一次提交,點擊ok即提交到svn服務器上。這時候查看本身提交的文件這時候藍色的加號會變成綠色的對鉤,這時候就已經成功了。
3.查看日誌
日誌,你們也是知道的,日誌的存在咱們可以看到svn的每一次提交版本,意思就是咱們可以看到你提交操做。如何查看日誌了,選擇你要查看日誌的項目,右擊選擇TortoiseSVN,選擇show log,就能看到該項目的版本,操做的人信息等。
4.SVN回退
如果不當心修改的,殊不知道在哪裏修改,咱們能夠右擊你修改的文件選擇TortoiseSVN,選擇Revert,這裏就是回退到服務器當前最新版本。
5.解決代碼衝突
代碼衝突,這確定是沒法避免的,這裏也是在合併代碼這塊很重要
代碼衝突問題的 產生:
多個用戶在操做同一個文件時,修改或新增了不一樣的內容,在第一個用戶提交後,第二個用戶提交時就會發生衝突,(提交的版本和別人提交的版本內容衝突)
舉例:
jack修改了user.java
Rose修改了user.java
Jack在提交操做時不會產生衝突而rose嘗試提交時:
提示文件過期,update:
打開文件後解決衝突:
修改內容爲:
再次提交,就不會出現問題了。
提示:解決衝突後,應該第一時間在工做的羣中發佈消息讓團隊相關人員知曉.
如何避免衝突:
在編輯代碼前,養成良好習慣,上班後第一個動做應該是先update代碼,保證本地代碼和svn同步,在提交代碼,若是工做中須要修改別人的代碼,應該與負責該代碼的人員商討,而不是直接提交。
5、經過IDEA工具使用SVN
1.上傳項目到SVN
建立了一個java項目,同步到svn服務器,rose從服務器中獲取項目:
建立項目:svndemo
點擊菜單VCS-->Enable Version Control Integration…
選擇Subversion
被歸入svn版本控制後當前項目會變成紅色:
項目爲紅色時表示本地版本信息和遠程倉庫版本信息不一致.
經過IDEA工具查看svn倉庫信息:
第一次操做時需添加倉庫信息:
效果以下:
開始上傳本地代碼前須要忽略掉一些沒必要上傳的目錄和文件:
本地項目中的target目錄 .idea文件 .iml文件都是和代碼無關的,因此所有都忽略掉
最終效果:
將本地代碼提交到遠程倉庫: 右擊項目 ->Subversion -> Share Directory…
選擇上傳文件夾:
被歸入svn版本控制的項目效果:
注意: 歸入版本控制只是單純的在svn遠程倉庫中建立了一個用以上傳項目的目錄,該操做並不直接將項目上傳
提交本地代碼:
選擇須要提交的內容提交:
提交後項目效果:
在svn倉庫視圖中也能看到提交後的項目:
當修改本地代碼後:對應的文件會變成藍色:
再次提交後變爲黑色
2.從SVN中檢出項目
打開IDEA在開始窗口選擇: Check out from Version Control ->Subversion
選擇要檢出的項目:
選擇本地放置項目的文件夾
點擊ok
Ok
yes
一直next
最終效果:
第一次寫博客,也不知道寫的咋樣,不過也花費了很長時間,總想寫的完美點,但感受寫的不是太好,雖然我知道網上有不少人寫了svn相關文章,但我寫了一篇本身看法。但願以後可以繼續寫下去。加油!加油!加油!