文章目錄
Subversion(SVN)是一個開源的版本控制系統,它是集中式的版本控制器,有一箇中央資料倉庫。SVN可以管理文件的版本,通過採用分支管理系統的高效管理,簡而言之就是用於多個人共同開發同一個項目,實現共享資源,實現最終集中式的管理。
一、SVN安裝
1、服務端
SVN的服務端可以自己安裝VisualSVN,也可以使用第三方服務(比如碼雲),兩種方式選一種即可。
VisualSVN: 適合企業內部使用,在同一局域網或有公網服務器,可以實現多人合作
碼雲: 不用安裝軟件,直接用web服務即可,適合不在同一局域網或者沒有公網服務器的情況。
1)、碼雲
創建倉庫:
點擊管理
倉庫無論是否爲空都要啓動SVN訪問
2)、VisualSVN
VisualSVN是一個SVN服務端, 下載地址:https://www.visualsvn.com/server/download/
創建用戶
創建倉庫
創建帶分支的
2、客戶端
兩種客戶端,二選一即可, SlikSVN(命令行)和TortoiseSVN(圖形界面),實際上圖形界面也都是對命令進行的封裝。
1)、SlikSVN
下載地址:https://sliksvn.com/download/
cmd需要進入到bin目錄下將bin目錄配置好環境變量
執行svn --version
,查看是否可執行
2)、TortoiseSVN
TortoiseSVN又叫做“小烏龜”,官網下載地址:https://tortoisesvn.net/downloads.html
安裝成功後鼠標右鍵有兩個快捷菜單
二、SVN命令
創建一一個目錄,當做測試的版本庫,如D:\java\svn-repo
1、svn checkout
格式:svn checkout 地址
,checkout簡寫co
從遠程庫檢出
注意:第一次檢出會需要電腦開機密碼、svn用戶名和密碼
可以看到下載成功的文件
因爲在選擇創建的時候,選的是帶分支的庫,所以會出現三個文件夾。如果沒選帶分支的,就是個空的文件夾。其中. svn就是版本信息存放的地方。
trunk
是主幹,新功能的開發應放在主線中
branches
是分支,branches是和trunk並行開發的,不影響主幹,待開發完成後合併回主幹,分支通常用於修復bug時使用
tags
是標籤,也叫里程碑,用於存放發佈後的文件,以及對應發佈後版本的源文件,通常是隻讀的
2、svn add
格式:svn add 文件名
在trunk下手動創建文件,之後使用svn add文件名向版本庫中增加新文件
3、svn status .
格式:svn status
查看文件或目錄狀態
4、svn commit
格式:svn commit -m "提交信息"
,commit簡寫爲ci
將文件提交到版本庫,提交信息一定設置有意義的信息,方便以後版本回退
提交後在倉庫可以看見文件
5、svn update
格式:svn update
,update簡寫up
切換到另一個用戶的目錄test,執行svn update ,可以看到更新的文件
6、svn log
格式:svn log
查看歷史版本
7、svn revert
格式:svn revert 文件名
恢復到上一個版本
先修改文件file.txt
8、svn move
格式:svn move 原文件名 新文件名
,move 簡寫mv
9、svn resolved
格式:svn resolved 文件名
解決衝突
兩個用戶都修改同一個文件,一個先提交,一個後提交會出現衝突
修改解決衝突,
之後svn resolved
再提交
10、svn copy
格式:svn copy 參照目錄 創建的分支名
創建分支
11、svn merge
格式:svn merge 分支名
分支合併
首先修改分支內容
merge命令還可以用作版本回退,先用svn log查看版本,再用merge命令。
12、svn rm
格式:svn rm 文件名
刪除文件
三、TortoiseSVN使用
1、檢出
在鼠標目標位置右鍵,選擇SVN Checkout
檢出結果
碼雲操作相同
2、文件圖標顏色
小烏龜中圖標不同,
綠色的是正常文件
紅色歎號是修改過的
藍色問號是新建的,未被版本管理
藍色加號是add過的
圖標名不顯示解決方法:
windows7中開始菜單regedit打開註冊表,搜索註冊表ShellIconOverlayIdentifiers,重命名以下文件,主要把前面的空格換爲0,再重啓電腦就好了
3、添加新文件
4、提交文件
5、下載更新文件
6、忽略文件
如果某個文件不想讓SVN管理,選擇Unversion and add to ignore list
7、解決衝突
1)、文本衝突
如果多個人同時修改了一個文件,一個人先提交,另一個人提交會失敗:
選擇update後有如下衝突:
diff可看到衝突部分
修改file文件後resolved解決衝突
再提交就可以了
8、文件名衝突
文件修改內容重命名提交失敗
需要在父路徑提交
9、分支
創建分支
合併分支
四、IDEA使用
1、上傳項目
下一步下一步就好了
選擇不需要管理的文件
添加文件
提交文件
2、解決衝突
修改相同文件,後者提交會報錯
右鍵衝突的文件,選擇Update File
解決衝突後再提交可以了
3、分支
1)、創建分支
2)、切換分支
當前所處分支
3)、合併分支
4、版本信息刪除
刪除.idea中的vcs.xml文件
刪除項目中的.svn文件夾即可