溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1

發(fā)布時(shí)間:2020-08-29 21:55:26 來源:網(wǎng)絡(luò) 閱讀:487 作者:匆匆的那年 欄目:軟件技術(shù)

1、什么是SVN

1.1?定義

1、SVN是一個(gè)開放源代碼項(xiàng)目,用于版本控制,是CollabNet公司在2000年創(chuàng)建。目前SVN作為阿帕奇軟件基金會(huì)的一個(gè)項(xiàng)目運(yùn)作。

2、TortoiseSVNApache Subversion(SVN)客戶端,作為SVN window shell的擴(kuò)展。

3、VisualSVN是專業(yè)SVN客戶端,用于和Microsoft Visual Studio集成。

4、參考鏈接:

http://subversion.apache.org/

https://www.runoob.com/svn/svn-tutorial.html

https://tortoisesvn.net/

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

1.2?SVN主要概念

SVN類似于文件系統(tǒng),能記錄每個(gè)文件的變更。

l?源代碼庫:Repository

統(tǒng)一存放源代碼的倉庫,實(shí)際存儲(chǔ)庫位于SVN服務(wù)器上的某個(gè)目錄。

倉庫是任何一個(gè)版本機(jī)的核心,倉庫不止處理文件還有歷史記錄,它需要訪問網(wǎng)絡(luò),扮演服務(wù)器的角色,版本控制系統(tǒng)扮演客戶端的角色,客戶端可以連接倉庫,那么他們就可以從倉庫中存儲(chǔ)或者提取。通過保存這些更改,一個(gè)客戶端的更改可以被其他人檢索到,一個(gè)客戶端可以讓其他人的更改作為一個(gè)工作副本。?

l?檢出:checkout

實(shí)際上是提取,用于初次下拉代碼文件到本地。

l?提交:submit

當(dāng)修改了代碼,并做了自測(cè)(開發(fā)人員自行測(cè)試,方式可能包括單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試等等),則把修改過的代碼文件提交到Repository中。

提交是一個(gè)保存更改的過程,從私人工作空間到中央服務(wù)器。提交后,更改對(duì)全部成員可用,通過更新工作副本其他開發(fā)者提取這些更改。提交是一個(gè)原子操作,要么全部提交成功要么回滾,用戶絕不會(huì)看到一半完成提交。

l?更新:update

如果別人做了源代碼修改,則需要更新代碼,實(shí)際上是從Repository把變更后的代碼文件同步到本地。

l?主干:trunk

是主要開發(fā)所在的目錄,經(jīng)常被項(xiàng)目開發(fā)者們查看。

l?標(biāo)簽:tags

目錄用于儲(chǔ)存項(xiàng)目中被命名的快照,標(biāo)簽操作允許給予對(duì)倉庫中特定版本一個(gè)描述和一個(gè)難忘的名字。比如,LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT Repository UUID: 7ceef8cb-3799-40dd-a067-c216ec2e5247 Revision: 13 更令人難忘。

l?分支:Branch

分支操作用于創(chuàng)建開發(fā)的另一條線,當(dāng)你想把開發(fā)進(jìn)程復(fù)制進(jìn)兩個(gè)不同的方向是很有用的。比如,當(dāng)你發(fā)布 5.0 版本時(shí),你可能想從 5.0 bug 修復(fù)中分離出來創(chuàng)建一個(gè)開發(fā) 6.0 功能的分支。

l?工作副本:

工作副本是倉庫的一個(gè)快照。這個(gè)倉庫被所有的成員共享,但人們不直接修改它,相反每個(gè)開發(fā)者檢查這個(gè)工作副本,工作副本是一個(gè)私人的工作空間,這里開發(fā)者可以獨(dú)立于其他成員做自己的工作。

2、TortoiseSVN安裝

2.1下載

官網(wǎng)下載鏈接:

https://tortoisesvn.net/downloads.html

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

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1

2.2安裝

直接按提示安裝即可,安裝后自動(dòng)在文件系統(tǒng)中右鍵菜單中增加入口,如下圖:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


3、VisualSVN安裝

3.1下載

官網(wǎng)鏈接:https://www.visualsvn.com/visualsvn/download/

按照編碼規(guī)范規(guī)定,需要使用VS 2017,所以下載用于VS 2017的版本:6.3.1

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

3.2安裝

直接雙擊安裝:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


安裝后,VS2017增加了一個(gè)一級(jí)菜單:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


同時(shí),在解決方案資源管理器右鍵菜單中增加:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


4、Visual Studio工程準(zhǔn)備

4.1重新指定objbin目錄的路徑

1、C#項(xiàng)目

右鍵點(diǎn)擊項(xiàng)目,出現(xiàn)彈出菜單,選“屬性”,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


點(diǎn)擊“屬性”后,出現(xiàn)如下界面:


基于SVN構(gòu)建版本機(jī)及所遇到的問題-1

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

2、C++項(xiàng)目

3、VB項(xiàng)目

4.2重新指定發(fā)布目錄的路徑

右鍵點(diǎn)擊項(xiàng)目,出現(xiàn)彈出菜單,選“發(fā)布”,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


點(diǎn)擊“新建配置文件...”,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


輸入新的發(fā)布目錄,強(qiáng)烈要求把目錄定到倉庫或者分支的根目錄中,使用..來相對(duì)表示根目錄,這樣就不用每次修改了。


5、SVN常用操作

5.1 Checkout

1、獲取倉庫地址

例如:https://keys/svn/測(cè)試倉庫/

2、新建本地項(xiàng)目地址

例如:D:\測(cè)試項(xiàng)目

3、創(chuàng)建本地工作副本

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

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


執(zhí)行SVN Checkout...后,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


點(diǎn)擊OK后,如果沒有連接過SVN服務(wù)器,會(huì)提示輸出用戶名和密碼,否則提示如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


Completed表示完成,同時(shí)自動(dòng)產(chǎn)生一個(gè).svn目錄。不應(yīng)該進(jìn)去這個(gè)目錄,尤其不應(yīng)該更動(dòng)這個(gè)目錄下面的任何內(nèi)容。否則會(huì)很可能會(huì)造成SVN無法正常運(yùn)作。

?

由于倉庫是空的,所以本地工作副本也是空的。

5.2 Add

進(jìn)入VS 2017,新建一個(gè)項(xiàng)目,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


指定位置為D:\測(cè)試項(xiàng)目”,這是在5.1 Checkout中新建的本地副本。確認(rèn)后,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


web應(yīng)用程序,確定后,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


“解決方案資源管理器”中,右鍵點(diǎn)擊TestProject項(xiàng)目后,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


執(zhí)行Add to Subversion”后,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


小黃點(diǎn)表示已經(jīng)加入到本地副本,實(shí)際上被復(fù)制到了.svn目錄下。


5.3 配置ignore

還是在項(xiàng)目上右鍵彈出菜單:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


進(jìn)入VisualSVN-->Properties菜單后,點(diǎn)擊“New...”,如下:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


執(zhí)行Other”菜單,“Property name”選擇為“svn:ignore

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


5.4 Commit

1、修改在5.2 Add一節(jié)中新增的項(xiàng)目生成目錄,還是在項(xiàng)目上右鍵菜單,選擇“屬性”:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1

選擇“所有配置”,修改輸出目錄為:..\..\bin

?

2、生成解決方案

解決方案右鍵菜單“生成解決方案”:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


輸出窗口提示為:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


生成過程沒有錯(cuò)誤,所以可以提交代碼文件到倉庫了。


2、提交

項(xiàng)目右鍵菜單:


基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


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

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1

提示:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


點(diǎn)擊OK后,用解決方案右鍵菜單來提交不會(huì)提示錯(cuò)誤:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


點(diǎn)擊OK后,發(fā)現(xiàn)黃點(diǎn)變?yōu)榫G點(diǎn):

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


進(jìn)入資源管理器查看sln文件是否加入:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


畫了紅線的sln文件沒有加入到本地工作副本中,執(zhí)行右鍵彈出菜單的“Add”:

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


結(jié)果是這個(gè)sln文件前面的問號(hào)改為加號(hào):

基于SVN構(gòu)建版本機(jī)及所遇到的問題-1


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI