一、SVN是一個開放源代碼項目,用於版本控制,是CollabNet公司在2000年建立。目前SVN做爲阿帕奇軟件基金會的一個項目運做。html
二、TortoiseSVN是Apache Subversion(SVN)客戶端,做爲SVN window shell的擴展。web
三、VisualSVN是專業SVN客戶端,用於和Microsoft Visual Studio集成。shell
4、參考連接:apache
http://subversion.apache.org/服務器
https://www.runoob.com/svn/svn-tutorial.html網絡
https://www.visualsvn.com/visualsvn/svn
SVN相似於文件系統,能記錄每一個文件的變動。單元測試
l 源代碼庫:Repository測試
統一存放源代碼的倉庫,實際存儲庫位於SVN服務器上的某個目錄。
倉庫是任何一個版本機的核心,倉庫不止處理文件還有歷史記錄,它須要訪問網絡,扮演服務器的角色,版本控制系統扮演客戶端的角色,客戶端能夠鏈接倉庫,那麼他們就能夠從倉庫中存儲或者提取。經過保存這些更改,一個客戶端的更改能夠被其餘人檢索到,一個客戶端可讓其餘人的更改做爲一個工做副本。
l 檢出:checkout
其實是提取,用於初次下拉代碼文件到本地。
l 提交:submit
當修改了代碼,並作了自測(開發人員自行測試,方式可能包括單元測試、集成測試、系統測試等等),則把修改過的代碼文件提交到Repository中。
提交是一個保存更改的過程,從私人工做空間到中央服務器。提交後,更改對所有成員可用,經過更新工做副本其餘開發者提取這些更改。提交是一個原子操做,要麼所有提交成功要麼回滾,用戶毫不會看到一半完成提交。
l 更新:update
若是別人作了源代碼修改,則須要更新代碼,其實是從Repository把變動後的代碼文件同步到本地。
l 主幹:trunk
是主要開發所在的目錄,常常被項目開發者們查看。
l 標籤:tags
目錄用於儲存項目中被命名的快照,標籤操做容許給予對倉庫中特定版本一個描述和一個難忘的名字。好比,LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT 比 Repository UUID: 7ceef8cb-3799-40dd-a067-c216ec2e5247 和Revision: 13 更使人難忘。
l 分支:Branch
分支操做用於建立開發的另外一條線,當你想把開發進程複製進兩個不一樣的方向是頗有用的。好比,當你發佈 5.0 版本時,你可能想從 5.0 的 bug 修復中分離出來建立一個開發 6.0 功能的分支。
l 工做副本:
工做副本是倉庫的一個快照。這個倉庫被全部的成員共享,但人們不直接修改它,相反每一個開發者檢查這個工做副本,工做副本是一個私人的工做空間,這裏開發者能夠獨立於其餘成員作本身的工做。
官網下載連接:
https://tortoisesvn.net/downloads.html
此連接下面有語言包下載:
直接按提示安裝便可,安裝後自動在文件系統中右鍵菜單中增長入口,以下圖:
官網連接:https://www.visualsvn.com/visualsvn/download/
按照編碼規範規定,須要使用VS 2017,因此下載用於VS 2017的版本:6.3.1
下載文件:VisualSVN-VS2017-6.3.1.vsix
直接雙擊安裝:
安裝後,VS2017增長了一個一級菜單:
同時,在解決方案資源管理器右鍵菜單中增長:
1、C#項目
右鍵點擊項目,出現彈出菜單,選「屬性」,以下:
點擊「屬性」後,出現以下界面:
修改輸出路徑。強烈要求把目錄定到倉庫或者分支的根目錄中,使用..來相對錶示根目錄,這樣就不用每次修改了。
二、C++項目
略
三、VB項目
略
右鍵點擊項目,出現彈出菜單,選「發佈」,以下:
點擊「新建配置文件...」,以下:
輸入新的發佈目錄,強烈要求把目錄定到倉庫或者分支的根目錄中,使用..來相對錶示根目錄,這樣就不用每次修改了。
一、獲取倉庫地址
例如:https://keys/svn/測試倉庫/
二、新建本地項目地址
例如:D:\測試項目
三、建立本地工做副本
在資源管理器中,選擇本地工做副本文件夾,右鍵菜單:
執行SVN Checkout...後,以下:
點擊OK後,若是沒有鏈接過SVN服務器,會提示輸出用戶名和密碼,不然提示以下:
Completed表示完成,同時自動產生一個.svn目錄。不該該進去這個目錄,尤爲不該該更動這個目錄下面的任何內容。不然會極可能會形成SVN沒法正常運做。
因爲倉庫是空的,因此本地工做副本也是空的。
進入VS 2017,新建一個項目,以下:
指定位置爲「D:\測試項目」,這是在5.1 Checkout中新建的本地副本。確認後,以下:
選web應用程序,肯定後,以下:
在「解決方案資源管理器」中,右鍵點擊TestProject項目後,以下:
執行「Add to Subversion」後,以下:
小黃點表示已經加入到本地副本,實際上被複制到了.svn目錄下。
仍是在項目上右鍵彈出菜單:
進入VisualSVN-->Properties菜單後,點擊「New...」,以下:
執行「Other」菜單,「Property name」選擇爲「svn:ignore」
1、修改在5.2 Add一節中新增的項目生成目錄,仍是在項目上右鍵菜單,選擇「屬性」:
選擇「全部配置」,修改輸出目錄爲:..\..\bin
二、生成解決方案
解決方案右鍵菜單「生成解決方案」:
「輸出」窗口提示爲:
「生成」過程沒有錯誤,因此能夠提交代碼文件到倉庫了。
二、提交
項目右鍵菜單:
選擇「Commit...」,注意必定要輸入Message說明修改哪些了bug或者新增了哪些功能:
提示:
點擊OK後,用解決方案右鍵菜單來提交不會提示錯誤:
點擊OK後,發現黃點變爲綠點:
進入資源管理器查看sln文件是否加入:
畫了紅線的sln文件沒有加入到本地工做副本中,執行右鍵彈出菜單的「Add」:
結果是這個sln文件前面的問號改成加號: