TortoiseSVN 和 VisualSVN Server 使用教程
來源 https://blog.csdn.net/xgf415/article/details/75196360
目錄:
SVN 是什么?
TortoiseSVN 和 VisualSVN Server 安裝
創建版本庫、用戶
檢出
更新與提交
歷史信息與版本回退
解決沖突
1. SVN 是什么?
SVN 是 Apache Subversion 的縮寫,是一個開放源代碼的版本控制系。這些數據放置在一個中央資料檔案庫(repository) 中。 這個檔案庫很像一個普通的文件服務器,不過它會記住每一次文件的變動。 這樣你就可以把檔案恢復到舊的版本,或是瀏覽文件的變動歷史。
SVN 一些概念
repository(版本庫):文件統一存放的地方。
checkout(檢出):當你手上沒有源文件的時候,你需要從repository 提取一份。
commit(提交):當你已經修改了文件,你就需要Commit到repository。
update (更新):當你已經Checkout了一份文件,Update一下,你的文件就會與服務器同步。
2. TortoiseSVN 和 VisualSVN Server 安裝
SVN 可以和 VisualSVN Server 一起使用。VisualSVN Server 是一個集成的 svn 服務端工具,可以對 SVN 的版本庫、用戶、組、權限等進行管理。 TortoiseSVN 和 VisualSVN Server 安裝比較簡單。
TortoiseSVN 下載地址:http://subversion.apache.org/packages.html#windows
VisualSVN Server 下載地址:https://www.visualsvn.com/server/download/
SVN 的中文包下載地址:https://tortoisesvn.net/downloads.html
設置中文
上面三個安裝完成之后,右鍵 -> TortoiseSVN -> Settings,設置 language 為中文即可。

3. 創建版本庫、用戶、組
開始菜單中找到 VisualSVN Server ,打開 VisualSVN Server Manbger
創建版本庫
設置好版本庫類型、名稱、權限之后,一個版本庫就創建好了。


創建用戶
右鍵 Users -> Create User,設置好用戶名和密碼。

創建組
右鍵 Groups -> Create Group,設置組名, 並添加用戶。

設置版本庫的用戶、組及其權限
為了對不同用戶、組設置不同的權限,我又創建了另外兩個用戶、兩個組。選擇 test 版本庫, 右鍵 Priperties,添加用戶、組, 並設置其讀寫權限。
manager(管理) 組讀寫權限,包含一個用戶 root;develop(開發)組讀寫權限,包含一個用戶 dev;visitor (訪問)只讀權限,包含一個用戶 visit。

4. 檢出
復制檢出路徑:選擇 test ,右鍵 Copy URL to Clipboard
新建一個空文件夾,右鍵 SVNCheckout,粘貼剛剛復制的檢出路徑。

確定之后,會彈出驗證框,輸入剛剛創建的用戶和密碼,確認之后檢出完成。

5. 更新與提交
更新與提交一般流程:

加入文件
新建一個文件,選擇該文件,右鍵 TortoiseSVN -> 加入

檢查修改
右鍵 TortoiseSVN -> 檢查修改

更新
右鍵 更新(Update)

沖突:如果其他人在你提交之前提交到了服務器,更新之后可能就會發生沖突。
提交
右鍵 提交(Commit)

提交完成。

這次先加入一個文件 file.txt,再修改 readme.txt 文件的內容。然后進行檢查修改、更新和提交。

撤銷修改
在未提交之前,如果作了修改,但是想撤銷一些修改。假設修改 readme.txt 的內容,同時增加一個文件 file.txt。現在想撤銷一些修改,右鍵 TortoiseSVN -> SVN 還原。

6. 歷史信息與版本回退
查看歷史
右鍵 TortoiseSVN -> 顯示日志

版本回退
右鍵 TortoiseSVN -> 更新至版本


7. 解決沖突
沖突類型
- 內容沖突:當兩名(或更多)開發人員修改了同一個文件中相鄰或相同的行時就會發生文件沖突。
- 樹沖突:當一名開發人員移動、重命名、刪除一個文件或文件夾,而另一名開發人員也對它們進行了移動、重命名、刪除或者僅僅是修改時就會發生樹沖突。
解決方法
- 根據沖突內容,手動修改文件內容。
- 執行命令
現在我們用另外一個用戶 dev 來登陸 SVN, 並修改 readme 的內容,然后提交。當 root 用戶也修改了 readme 的內容,更新時就可能發生沖突。

右鍵 TortoiseSVN -> 檢查修改

修改沖突的方法:
用左邊的內容;
用右邊的內容;
先用左邊再用右邊的內容;
先用右邊再用左邊的內容;
注意:每個沖突行都要使用上面的方法處理一次。
現在我們使用先用左邊再用右邊的內容進行處理:

保存之后關閉,右鍵 TortoiseSVN -> 已解決的

確定,沖突解決,然后提交。

=================================== End
