基於SVN構建版本機及所遇到的問題-1

一、什麼是SVN

1.1 定義

一、SVN是一個開放源代碼項目,用於版本控制,是CollabNet公司在2000年建立。目前SVN做爲阿帕奇軟件基金會的一個項目運做。html

二、TortoiseSVNApache 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://tortoisesvn.net/ide

https://www.visualsvn.com/visualsvn/svn

1.2 SVN主要概念

SVN相似於文件系統,能記錄每一個文件的變動。單元測試

源代碼庫:Repository測試

統一存放源代碼的倉庫,實際存儲庫位於SVN服務器上的某個目錄。

倉庫是任何一個版本機的核心,倉庫不止處理文件還有歷史記錄,它須要訪問網絡,扮演服務器的角色,版本控制系統扮演客戶端的角色,客戶端能夠鏈接倉庫,那麼他們就能夠從倉庫中存儲或者提取。經過保存這些更改,一個客戶端的更改能夠被其餘人檢索到,一個客戶端可讓其餘人的更改做爲一個工做副本。 

檢出:checkout

其實是提取,用於初次下拉代碼文件到本地。

提交:submit

當修改了代碼,並作了自測(開發人員自行測試,方式可能包括單元測試、集成測試、系統測試等等),則把修改過的代碼文件提交到Repository中。

提交是一個保存更改的過程,從私人工做空間到中央服務器。提交後,更改對所有成員可用,經過更新工做副本其餘開發者提取這些更改。提交是一個原子操做,要麼所有提交成功要麼回滾,用戶毫不會看到一半完成提交。

更新:update

若是別人作了源代碼修改,則須要更新代碼,其實是從Repository把變動後的代碼文件同步到本地。

主幹:trunk

是主要開發所在的目錄,常常被項目開發者們查看。

標籤:tags

目錄用於儲存項目中被命名的快照,標籤操做容許給予對倉庫中特定版本一個描述和一個難忘的名字。好比,LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT Repository UUID: 7ceef8cb-3799-40dd-a067-c216ec2e5247 Revision: 13 更使人難忘。

分支:Branch

分支操做用於建立開發的另外一條線,當你想把開發進程複製進兩個不一樣的方向是頗有用的。好比,當你發佈 5.0 版本時,你可能想從 5.0 bug 修復中分離出來建立一個開發 6.0 功能的分支。

工做副本:

工做副本是倉庫的一個快照。這個倉庫被全部的成員共享,但人們不直接修改它,相反每一個開發者檢查這個工做副本,工做副本是一個私人的工做空間,這裏開發者能夠獨立於其餘成員作本身的工做。

二、TortoiseSVN安裝

2.1下載

官網下載連接:

https://tortoisesvn.net/downloads.html

此連接下面有語言包下載:

image.png

2.2安裝

直接按提示安裝便可,安裝後自動在文件系統中右鍵菜單中增長入口,以下圖:

image.png


三、VisualSVN安裝

3.1下載

官網連接:https://www.visualsvn.com/visualsvn/download/

按照編碼規範規定,須要使用VS 2017,因此下載用於VS 2017的版本:6.3.1

下載文件:VisualSVN-VS2017-6.3.1.vsix

3.2安裝

直接雙擊安裝:

image.png


安裝後,VS2017增長了一個一級菜單:

image.png


同時,在解決方案資源管理器右鍵菜單中增長:

image.png


四、Visual Studio工程準備

4.1從新指定objbin目錄的路徑

1C#項目

右鍵點擊項目,出現彈出菜單,選「屬性」,以下:

image.png


點擊「屬性」後,出現以下界面:


image.png

修改輸出路徑。強烈要求把目錄定到倉庫或者分支的根目錄中,使用..來相對錶示根目錄,這樣就不用每次修改了。

二、C++項目

三、VB項目

4.2從新指定發佈目錄的路徑

右鍵點擊項目,出現彈出菜單,選「發佈」,以下:

image.png


點擊「新建配置文件...」,以下:

image.png


輸入新的發佈目錄,強烈要求把目錄定到倉庫或者分支的根目錄中,使用..來相對錶示根目錄,這樣就不用每次修改了。


五、SVN經常使用操做

5.1 Checkout

一、獲取倉庫地址

例如:https://keys/svn/測試倉庫/

二、新建本地項目地址

例如:D:\測試項目

三、建立本地工做副本

在資源管理器中,選擇本地工做副本文件夾,右鍵菜單:

image.png


執行SVN Checkout...後,以下:

image.png


點擊OK後,若是沒有鏈接過SVN服務器,會提示輸出用戶名和密碼,不然提示以下:

image.png


Completed表示完成,同時自動產生一個.svn目錄。不該該進去這個目錄,尤爲不該該更動這個目錄下面的任何內容。不然會極可能會形成SVN沒法正常運做。

 

因爲倉庫是空的,因此本地工做副本也是空的。

5.2 Add

進入VS 2017,新建一個項目,以下:

image.png


指定位置爲D:\測試項目」,這是在5.1 Checkout中新建的本地副本。確認後,以下:

image.png


web應用程序,肯定後,以下:

image.png


「解決方案資源管理器」中,右鍵點擊TestProject項目後,以下:

image.png


執行Add to Subversion」後,以下:

image.png


小黃點表示已經加入到本地副本,實際上被複制到了.svn目錄下。


5.3 配置ignore

仍是在項目上右鍵彈出菜單:

image.png


進入VisualSVN-->Properties菜單後,點擊「New...」,以下:

image.png


執行Other」菜單,「Property name」選擇爲「svn:ignore

image.png


5.4 Commit

1、修改在5.2 Add一節中新增的項目生成目錄,仍是在項目上右鍵菜單,選擇「屬性」:

image.png

選擇「全部配置」,修改輸出目錄爲:..\..\bin

 

二、生成解決方案

解決方案右鍵菜單「生成解決方案」:

image.png


輸出窗口提示爲:

image.png


生成過程沒有錯誤,因此能夠提交代碼文件到倉庫了。


二、提交

項目右鍵菜單:


image.png


選擇Commit...,注意必定要輸入Message說明修改哪些了bug或者新增了哪些功能:

image.png

提示:

image.png


點擊OK後,用解決方案右鍵菜單來提交不會提示錯誤:

image.png


點擊OK後,發現黃點變爲綠點:

image.png


進入資源管理器查看sln文件是否加入:

image.png


畫了紅線的sln文件沒有加入到本地工做副本中,執行右鍵彈出菜單的「Add」:

image.png


結果是這個sln文件前面的問號改成加號:

image.png

相關文章
相關標籤/搜索