TortoiseSVN 和 VisualSVN Server 使用教程
參考:
目錄:
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. 解決衝突
衝突型別
內容衝突:當兩名(或更多)開發人員修改了同一個檔案中相鄰或相同的行時就會發生檔案衝突。
樹衝突:當一名開發人員移動、重新命名、刪除一個檔案或資料夾,而另一名開發人員也對它們進行了移動、重新命名、刪除或者僅僅是修改時就會發生樹衝突。
SVN 樹衝突型別和解決方法有點複雜, 可以參考這篇部落格。
解決方法
根據衝突內容,手動修改檔案內容。
執行命令 TortoiseSVN ->已解決,然後提交修改到版本庫。
現在我們用另外一個使用者 dev 來登陸 SVN, 並修改 readme 的內容,然後提交。當 root 使用者也修改了 readme 的內容,更新時就可能發生衝突。
右鍵 TortoiseSVN -> 檢查修改
修改衝突的方法:
用左邊的內容;
用右邊的內容;
先用左邊再用右邊的內容;
先用右邊再用左邊的內容;
注意:每個衝突行都要使用上面的方法處理一次。
現在我們使用先用左邊再用右邊的內容進行處理:
儲存之後關閉,右鍵 TortoiseSVN -> 已解決的
確定,衝突解決,然後提交。
---------------------
作者:xgf415
來源:CSDN
原文:https://blog.csdn.net/xgf415/article/details/75196360
版權宣告:本文為博主原創文章,轉載請附上博文連結!