亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

版本控制Subversion TortoiseSVN apache Visual

系統(tǒng) 1840 0

轉(zhuǎn)載于 http://blog.sina.com.cn/s/blog_6b94d5680101m7ah.html

Subversion (簡稱 svn )是近年來崛起的版本管理軟件,是 cvs 的接班人。目前,絕大多數(shù) 開源軟件 都使用 svn 作為代碼版本管理 軟件

Subversion是一個(gè)版本控制系統(tǒng),相對(duì)于的RCS、CVS,采用了分支管理系統(tǒng),它的設(shè)計(jì)目標(biāo)就是取代CVS。互聯(lián)網(wǎng)上免費(fèi)的版本控制服務(wù)多基于Subversion。 ? ?
????? ? Subversion 是一個(gè)自由,開源的版本控制系統(tǒng)。在Subversion管理下,文件和目錄可以超越時(shí)空。Subversion將文件存放在中心版本 庫里 。這個(gè)版本庫很像一個(gè)普通的 文件服務(wù)器 ,不同的是,它可以記錄每一次文件和目錄的修改情況。這樣就可以籍此將 數(shù)據(jù)恢復(fù) 到以前的版本,并可以查看數(shù)據(jù)的更改細(xì)節(jié)。正因?yàn)槿绱耍S多人將版本控制系統(tǒng)當(dāng)作一種神奇的“時(shí)間機(jī)器”。

????? TortoiseSVN 是 Subversion 版本控制系統(tǒng)的一個(gè)免費(fèi)開源 戶端 ,可以超越時(shí)間的管理文件和目錄。

?

? apache

Subversion和apache,apr,apr-util的關(guān)系

?
         作者:PCplayer 來自:我用Subversion - 
        
          http://www.iUseSVN.com
        
         時(shí)間:2007.3.8 修改時(shí)間:2007.10.26
      

很多朋友初次接觸Subversion時(shí)不是很理解subversion和apache的關(guān)系。

我在這里簡單說明一下svn服務(wù)器和客戶端的安裝說明。

服務(wù)器

subversion服務(wù)器是不需要apache的,但是可以使用apache,視具體情況來選擇。

1、如果只要通過file://或svn://來訪問,則不需要apache,只安裝svn即可,使用svnserve來作為服務(wù)。

2、如果你要建立一個(gè)可以通過http://或https://來訪問的版本庫服務(wù)器,則你需要使用apache。

基于apache配置,請(qǐng)看 http://bbs.iusesvn. com/thread-158-1-1.html ?。

客戶端

在windows下,不管你要訪問的是什么類型的服務(wù)器,只要安裝一個(gè)TortoiseSVN就可以了,開發(fā)者已經(jīng)幫你搞定一切。

在類Linux系統(tǒng)下,如果你通過file://或svn://來訪問,則只要編譯安裝svn就可以,

如果通過http://訪問,則要同neon編譯,

如果通過https://訪問,則要同帶ssl支持的neon編譯,

不論怎樣,都要同apr和apr-util編譯。

neon、apr、apr-util也很容易獲得,目前發(fā)布的subversion代碼都會(huì)有一個(gè)叫做subversion-deps-xxx的文件,比如1.4.3的就是subversion-deps-1.4.3.tar.bz2

對(duì)于訪問國外網(wǎng)站比較慢的朋友,下載Subversion和客戶端,可以到? http://www.iUseSVN.com ?,因帶寬和流量有限,網(wǎng)站只對(duì)注冊(cè)用戶開放下載,這點(diǎn)有點(diǎn)麻煩,但是很值得,一是下載速度的確相當(dāng)快,二是里面有很多熱于與大家交流的Subversion愛好者。

?

?

本文將介紹Windows下subversion作為Apache module的安裝方法。

安裝Apache

從? http://httpd.apache.org/ ?上下載Apache。最新版本的subversion僅支持 Apache 2.0.x,不支持Apache 1.3.x,所以請(qǐng)下載 Apache 2.0.x 版本。最新版本為 Apache 2.0.59。

2007-6-6追加: 另外subversion也不支持Apache 2.2.x版本,詳細(xì)原因請(qǐng)參考 這里

下載之后運(yùn)行安裝程序進(jìn)行安裝。安裝完畢之后,打開瀏覽器,輸入 http://localhost/,如果能夠看到 Apache 的歡迎畫面,即表示安裝成功。

安裝subversion

下載

從? http://subversion.tigris.org/ ?下載subversion,最新版本為1.3.1。這里我們選擇for Win32的zip版(svn-win32-1.3.1.zip)下載。

安裝

下載之后將 svn-win32-1.3.1.zip 解壓縮到 C:\ 下。為方便起見,將目錄名svn-win32-1.3.1修改為 svn。

然后我們需要建立一個(gè)保存subversion的版本庫的目錄。假設(shè)我們將此目錄命名為 C:\svnwork。

打開“控制面板”->“系統(tǒng)”->“高級(jí)”->“環(huán)境變量”,修改PATH變量,在其末尾添加 C:\svn\bin。

然后將 C:\svn\bin 下面的 mod authz svn.so、mod dav svn.so 兩個(gè)文件復(fù)制到 Apache 的 modules 目錄下。打開Apache的配置文件 httpd.conf,查找 LoadModule,將下面這一行之前的 # 去掉:

        
          LoadModule dav_module modules/mod_dav.so 
        
      

然后在LoadModule塊的末尾添加如下兩行:

        
          LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 
        
      

之后在httpd.conf的末尾添加如下幾行:

        
          <Location /repos> DAV svn SVNParentPath C:/svnwork </Location> 
        
      

其中,repos 為從Web上訪問版本庫時(shí)所使用的路徑,而SVNParentPath后面的目錄即為版本庫目錄的位置。該指令告訴Apache,所有以 /repos 開頭的請(qǐng)求都交給subversion處理。

然后重新啟動(dòng)計(jì)算機(jī)(原因請(qǐng)參見 這里 )。打開“控制面板”->“管理工具”->“服務(wù)”,查看Apache2服務(wù)的描述,如果描述變成類似于“Apache/2.0.54 (Win32) DAV/2 SVN/1.3.1”(包含SVN字樣)則說明安裝成功。

客戶端設(shè)置

subversion的用戶需要設(shè)置如下環(huán)境變量:

        
          SVN_EDITOR="C:\Windows\notepad.exe" 
        
      

當(dāng)使用subversion進(jìn)行導(dǎo)入、提交等操作時(shí),subversion會(huì)調(diào)用該程序編輯提交說明。

建立subversion的版本庫

作為演示,我們建立一個(gè)版本庫。首先打開命令行提示符,進(jìn)入C:\svnwork,輸入以下命令:

        
          svnadmin create demo 
        
      

然后嘗試向demo版本庫中添加代碼。假設(shè)我們?cè)?D:\program\svntest 下面有一個(gè)名為 demo.c 的文件,那么我們輸入以下命令:

        
          D: cd program svn import svntest http://localhost/repos/demo 
        
      

其中 svntest 為目錄名。svn會(huì)調(diào)用文本編輯器來編輯說明文字,保存并關(guān)閉之后,svn會(huì)顯示:

        
          Adding svntest\demo.c Committed revision 1. 
        
      

然后可以通過以下命令察看保存到服務(wù)器上的文件:

        
          svn list http://localhost/repos/demo demo.c
        
      

?

?

?

VisualSVN

?

VisualSVN Serve集成了Subversion和Apache,簡化了手工配置Subversion的繁瑣步驟。 [1]
VisualSVN Server是免費(fèi)的,而VisualSVN是收費(fèi)的。VisualSVN是SVN的客戶端,和Visual Studio集成在一起, VisualSvn Server是SVN的服務(wù)器端,包括Subversion、Apache和用戶及權(quán)限管理,優(yōu)點(diǎn)在上面已經(jīng)說過了。

?

1.為什么要用VisualSVN Server,而不用Subversion?
SVN 分為服務(wù)端和客戶端,就服務(wù)端而言分為 Subversion和VisualSVN Server
因?yàn)槿绻苯邮褂肧ubversion,那么在Windows 系統(tǒng)上,要想讓它隨系統(tǒng)啟動(dòng),就要封裝SVN Server為windws service,還要通過修改配置文件來控制用戶權(quán)限,另外如果要想以Web方式【http協(xié)議】訪問,一般還要安裝配置Apache,如果是新手,豈不是很頭痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻煩。安裝的時(shí)候SVN Server已經(jīng)封裝為windws service,Apache服務(wù)器的配置也只是在圖像界面上,指定認(rèn)證方式、訪問端口等簡單操作;另外,用戶權(quán)限的管理也是通過圖像界面來配置。
2.為什么不用TFS?
因?yàn)槲覀円婚_始就是用Subversion和TortioseSVN,所以就沒有更換其他的軟件。至于TFS至今沒有用過,其實(shí),我只是看了一些的文章而已,對(duì)它也不了解。
3.VisualSVN Server是免費(fèi)的嗎?
是的,VisualSVN Server是免費(fèi)的,而VisualSVN是收費(fèi)的。VisualSVN是SVN的客戶端,和Visual Studio集成在一起, VisualSvn Server是SVN的服務(wù)器端,包括Subversion、Apache和用戶及權(quán)限管理,優(yōu)點(diǎn)在上面已經(jīng)說過了。
4.TortoiseSVN是免費(fèi)的,可以替代VisualSVN

?

?

?

VisualSVN Server的配置和使用方法 圖文

?
發(fā)布:dxy 字體:[ 增加 ? 減小 ] 類型:轉(zhuǎn)載
?
VisualSVN Server是免費(fèi)的,而VisualSVN是收費(fèi)的。VisualSVN是SVN的客戶端,和Visual Studio集成在一起, VisualSvn Server是SVN的服務(wù)器端,包括Subversion、Apache和用戶及權(quán)限管理,優(yōu)點(diǎn)在上面已經(jīng)說過了。
?
?

1.為什么要用VisualSVN Server,而不用Subversion?

回答:

因?yàn)槿绻苯邮褂肧ubversion,那么在Windows 系統(tǒng)上,要想讓它隨系統(tǒng)啟動(dòng),就要封裝SVN Server為windws service,還要通過修改配置文件來控制用戶權(quán)限,另外如果要想以Web方式【http協(xié)議】訪問,一般還要安裝配置Apache,如果是新手,豈不是很頭痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻煩。安裝的時(shí)候SVN Server已經(jīng)封裝為windws service,Apache服務(wù)器的配置也只是在圖像界面上,指定認(rèn)證方式、訪問端口等簡單操作;另外,用戶權(quán)限的管理也是通過圖像界面來配置。

2.為什么不用TFS?

回答:

因?yàn)槲覀円婚_始就是用Subversion和TortioseSVN,所以就沒有更換其他的軟件。至于TFS至今沒有用過,其實(shí),我只是看了一些的文章而已,對(duì)它也不了解。

3.VisualSVN Server是免費(fèi)的嗎?

回答:

是的,VisualSVN Server是免費(fèi)的,而VisualSVN是收費(fèi)的。VisualSVN是SVN的客戶端,和Visual Studio集成在一起, VisualSvn Server是SVN的服務(wù)器端,包括Subversion、Apache和用戶及權(quán)限管理,優(yōu)點(diǎn)在上面已經(jīng)說過了。

?

好了,言歸正傳,正式開始我們今天的教程。

?

一、VisualSVN Server的配置和使用方法【服務(wù)器端】

安裝好VisualSVN Server后【安裝過程看 這里 】,運(yùn)行VisualSVN Server Manger,下面是啟動(dòng)界面:

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

?

好的,下面我來添加一個(gè)代碼庫【Repository】,如下圖:

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

按上圖所示,創(chuàng)建新的代碼庫,在下圖所示的文本框中輸入代碼庫名稱:

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

?

注意:上圖中的CheckBox如果選中,則在代碼庫StartKit下面會(huì)創(chuàng)建trunk、branches、tags三個(gè)子目錄;不選中,則只創(chuàng)建空的代碼庫StartKit。

點(diǎn)擊OK按鈕,代碼庫就創(chuàng)建成功了。

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

創(chuàng)建完代碼庫后,沒有任何內(nèi)容在里面。我會(huì)在這個(gè)教程的第二部分說明如何遷入源代碼。

下面,我們開始安全性設(shè)置,在左側(cè)的Users上點(diǎn)擊右鍵:

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

?

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

輸入上面的信息,點(diǎn)擊OK,我們就創(chuàng)建一個(gè)用戶了。按照上面的過程,分別添加用戶Developer1、tester1、manager1,好了,我們開始添加這些用戶到我們剛才創(chuàng)建的項(xiàng)目里:

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

點(diǎn)擊上圖中的"Add..."按鈕,在下圖中選擇我們剛才添加的用戶,點(diǎn)擊OK按鈕:

說明:大家可能注意到了下圖中的Groups,是的,你也可以先創(chuàng)建組,把用戶添加到各個(gè)組中,然后對(duì)組進(jìn)行授權(quán),操作比較簡單,在此略過。

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

按照下圖所示,分別對(duì)用戶【或組】進(jìn)行授權(quán):

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

點(diǎn)擊"確定"按鈕,上面的用戶就具有了訪問StartKit代碼庫的不同權(quán)限。

因?yàn)橛脩魋tarter在團(tuán)隊(duì)中是新來者,不希望他向代碼庫中提交新代碼,所以他只能讀取代碼庫中的代碼,不能提交代碼。tester1是測試人員,不負(fù)責(zé)代碼編寫,所以也是只讀權(quán)限。而Developer1和manager1是開發(fā)人員和項(xiàng)目經(jīng)理,自然具有讀、寫的權(quán)限。

在實(shí)際的項(xiàng)目開發(fā)過程中,Developer和tester往往不可能只有一個(gè)人,這時(shí)候使用組來授權(quán)更加方便,這個(gè)大家可以自己練習(xí)一下。

二、TotoiseSVN的基本使用方法

?

在? 項(xiàng)目管理實(shí)踐教程一、工欲善其事,必先利其器【Basic Tools】 中,我已經(jīng)講解了怎樣安裝TortoiseSVN。在上面的講解中已經(jīng)講了怎么使用VisualSVN Server了,今天我要講的是,TortoiseSVN的簡單使用方法。

一、簽入源代碼到SVN服務(wù)器

假如我們使用Visual Studio在文件夾StartKit中創(chuàng)建了一個(gè)項(xiàng)目,我們要把這個(gè)項(xiàng)目的源代碼簽入到SVN Server上的代碼庫中里,首先右鍵點(diǎn)擊StartKit文件夾,這時(shí)候的右鍵菜單如下圖所示:

圖2-2-1

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

點(diǎn)擊Import,彈出下面的窗體,其中 http://zt.net.henu.edu.cn ?是服務(wù)器名,svn是代碼倉庫的根目錄,StartKit是我們?cè)谏蟼€(gè)教程中添加的一個(gè)代碼庫:

說明: 左下角的CheckBox,在第一次簽入源代碼時(shí)沒有用,但是,在以后你提交代碼的時(shí)候是非常有用的。

圖2-2-2

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

點(diǎn)擊OK按鈕,會(huì)彈出下面的窗體,要求輸入憑據(jù):

圖2-2-3

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

在上面的窗體中輸入用戶名和密碼,點(diǎn)擊OK按鈕:

圖2-2-4

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

如上圖所示,好了,源代碼已經(jīng)成功簽入SVN服務(wù)器了。這時(shí)候團(tuán)隊(duì)成員就可以遷出SVN服務(wù)器上的源代碼到自己的機(jī)器了。

二、簽出源代碼到本機(jī)

在本機(jī)創(chuàng)建文件夾StartKit,右鍵點(diǎn)擊Checkout,彈出如下圖的窗體:

圖2-2-5

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

在上圖中URL of Repository:下的文本框中輸入svn server中的代碼庫的地址,其他默認(rèn),點(diǎn)擊OK按鈕,就開始簽出源代碼了。

說明: 上圖中的Checkout Depth,有4個(gè)選項(xiàng),分別是遷出全部、只簽出下一級(jí)子目錄和文件、只簽出文件、只簽出空項(xiàng)目,默認(rèn)的是第一項(xiàng)。上面的例子中,我們也可以使用web的方式訪問代碼庫,在瀏覽器中輸入 http://zt.net.henu.edu.cn/svn/StartKit/

這時(shí)候也會(huì)彈出對(duì)話框,要求輸入用戶名和密碼,通過驗(yàn)證后即可瀏覽代碼庫中的內(nèi)容。

?

搞定!源代碼已經(jīng)成功簽出到剛才新建的StartKit目錄中。

打開StartKit目錄,可以看到如下圖的文件夾結(jié)構(gòu):

圖2-2-5

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

一旦你對(duì)文件或文件夾做了任何修改,那么文件或文件夾的顯示圖片機(jī)會(huì)發(fā)生變化。下圖中我修改了其中的二個(gè)文件:

圖2-2-7

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

大家看一下不同狀態(tài)所對(duì)應(yīng)的圖片:

圖2-2-8

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

我們已經(jīng)知道怎么將源代碼簽入到SVN服務(wù)器,怎么從服務(wù)器簽出代碼到本機(jī),也簡單了解了不同狀態(tài)所對(duì)應(yīng)的圖案啦。

三、提交修改過的文件到SVN服務(wù)器

上面的圖2-2-7中,我修改了位于Model文件中的二個(gè)文件ImageInfo.cs和NewsInfo.cs,下面演示如何提交到SVN服務(wù)器。

注意:提交源代碼到服務(wù)器時(shí),一定確保本機(jī)的代碼是最新版本,否則可能提交失敗,或者造成版本沖突。

在Model文件夾上點(diǎn)擊右鍵或在Model文件下的空白處點(diǎn)擊右鍵,點(diǎn)擊SVN Commit…彈出下面的窗體:

圖2-2-9

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

點(diǎn)擊OK按鈕后,彈出如下圖的窗體:

圖2-2-10

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

四、添加新文件到SVN服務(wù)器

我們?cè)贛odel文件下添加一個(gè)新的類文件UserInfo.cs,在Model文件下的空白處點(diǎn)擊右鍵,點(diǎn)擊SVN Commit…,和上面講的提交修改過的文件到SVN服務(wù)器一樣,就可以了。

另外也可以在文件UserInfo.cs上點(diǎn)擊右鍵,點(diǎn)擊TortoiseSVN=>>Add,彈出如下圖的窗體:

圖2-2-11

版本控制Subversion?<wbr>?<wbr>TortoiseSVN?<wbr>apache?<wbr>VisualSVN【使用方法】?<wbr>trunk?<wbr>tags用法

選中UserInfo.cs文件,點(diǎn)擊OK按鈕,這樣并沒有將這個(gè)文件提交到SVN服務(wù)器,只是將這個(gè)文件標(biāo)記為源代碼庫庫中的文件,并將其狀態(tài)置為修改狀態(tài)。之后,我們要再SVN Commit這個(gè)文件一次,才可以將其真正提交到SVN服務(wù)器上的代碼庫中。

?

上面講是添加文件,實(shí)際上,添加文件夾的步驟也是一樣的,這里就不說了。

?

五、更新本機(jī)代碼與SVN服務(wù)器上最新的版本一致

這個(gè)也很簡單,只要在需要更新的文件夾上點(diǎn)擊右鍵或在該文件下的空白處點(diǎn)擊右鍵,點(diǎn)擊SVN Update,就可以了。

注意:更新操作可能會(huì)因?yàn)榘姹緵_突而失敗,這是可以使用合并【Merge】或其他方法解決;也可能因?yàn)殒i定【Get Lock】而失敗,這是需要先解鎖【Release Lock】。

六、重命名文件或文件夾,并將修改提交到SVN服務(wù)器

只要在需要重命名的文件或文件夾上點(diǎn)擊右鍵,點(diǎn)擊TortiseSVN=>>Rename…,在彈出的窗體中輸入新名稱,點(diǎn)擊OK按鈕,就可以了。此方法也不是直接重命名,而是將該文件或文件夾的名稱標(biāo)記為重命名后名稱,也需要我們使用SVN Commit提交到SVN服務(wù)器后才真正重命名。

七、刪除文件或文件夾,并將修改提交到SVN服務(wù)器

最簡單就是,你直接刪除文件或文件夾,然后使用SVN Commit提交更新到SVN服務(wù)器。另外一種方法是在你要?jiǎng)h除的文件或文件夾上點(diǎn)擊右鍵=>>TortoiseSVN=>>Delete刪除,此方法也不是直接刪除,而是將該文件或文件夾的狀態(tài)置為刪除,也需要我們使用SVN Commit提交到SVN服務(wù)器后才真正刪除。

說明:實(shí)際上,從你把源代碼遷簽入SVN服務(wù)器開始,每一個(gè)版本的數(shù)據(jù)和文件,就算是你已經(jīng)刪除了的,也都可以隨時(shí)遷出。

以上只是TortoiseSVN最簡單的幾個(gè)功能,其實(shí)他的功能遠(yuǎn)不止這些,其他的功能大家可以在使用的過程中慢慢體會(huì),有些功能我會(huì)在下面的教程中使用到,到時(shí)候會(huì)和大家講清楚用法。

注意:向SVN服務(wù)器提交源代碼的時(shí)候,一定不要提交bin、obj等文件夾,否則會(huì)很麻煩。但是web項(xiàng)目的bin目錄除外,但是web項(xiàng)目的bin目錄中的引用其他項(xiàng)目而生成的dll不需要提交。

一個(gè)好習(xí)慣:如果項(xiàng)目中引用了其他的第三方的程序集,比如EnterpriseLibrary、FCKEditor等,這時(shí)候不要簡單從他們的安裝位置引用,而是在你的解決方案下,添加一個(gè)Library的目錄,把需要的程序集復(fù)制到這里,然后從Library目錄引用,這樣有什么好處,自己想一想吧!

如果大家有什么問題,盡管跟帖提問,我一定及時(shí)回答。

好了,今天就先寫到這里吧,本來說這部分準(zhǔn)備寫一篇Blog,可是現(xiàn)在寫了這么長,還只是說了一點(diǎn)很基本的東西而已,呵呵……

如果你對(duì)我講解的這些內(nèi)容不熟悉,建議你從頭開始看這個(gè)系列的教程: 項(xiàng)目管理實(shí)踐系列教程

?

傳到SVN 服務(wù)器上的代碼存放的位置,在服務(wù)器安裝時(shí),有一個(gè)可配置的地方,可配置;且上傳的代碼是被壓縮后存放在配置服務(wù)器時(shí),指定的地方的;

?

?

SVN中trunk,branches,tags用法詳解

?

?

Subversion有一個(gè)很標(biāo)準(zhǔn)的目錄結(jié)構(gòu),是這樣的。
比如項(xiàng)目是proj,svn地址為svn://proj/,那么標(biāo)準(zhǔn)的svn布局是

svn://proj/|+-trunk+-branches+-tags
這是一個(gè)標(biāo)準(zhǔn)的布局, trunk為主開發(fā)目錄 branches為分支開發(fā)目錄 tags為tag存檔目錄(不允許修改) 。但是具體這幾個(gè)目錄應(yīng)該如何使用,svn并沒有明確的規(guī)范, 更多的還是用戶自己的習(xí)慣

對(duì)于這幾個(gè)開發(fā)目錄,一般的使用方法有兩種。我更多的是從軟件產(chǎn)品的角度出發(fā)(比如freebsd),因?yàn)榛ヂ?lián)網(wǎng)的開發(fā)模式是完全不一樣的。 1.第一種方法,使用trunk作為主要的開發(fā)目錄
一般的,我們的所有的開發(fā)都是基于trunk進(jìn)行開發(fā),當(dāng)一個(gè)版本/release開發(fā)告一段落(開發(fā)、測試、文檔、制作安裝程序、打包等)結(jié)束后,代碼處于凍結(jié)狀態(tài)(人為規(guī)定,可以通過hook來進(jìn)行管理)。此時(shí)應(yīng)該基于當(dāng)前凍結(jié)的代碼庫,打tag。當(dāng)下一個(gè)版本/階段的開發(fā)任務(wù)開始,繼續(xù)在trunk進(jìn)行開發(fā)。
此時(shí),如果發(fā)現(xiàn)了上一個(gè)已發(fā)行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在開發(fā)的版本(Developing Version)無法滿足時(shí)間要求【新開發(fā)的東西還不能用】,這時(shí)候就需要在上一個(gè)版本上進(jìn)行修改了。應(yīng)該基于發(fā)行版對(duì)應(yīng)的tag,做相應(yīng)的分支(branch)進(jìn)行開發(fā)。
例如,剛剛發(fā)布1.0,正在開發(fā)2.0,此時(shí)要在1.0的基礎(chǔ)上進(jìn)行bug修正。
按照時(shí)間的順序

1.0開發(fā)完畢,代碼凍結(jié)?
基于已經(jīng)凍結(jié)的trunk,為release1.0打tag
此時(shí)的目錄結(jié)構(gòu)為
svn://proj/
+trunk/ (freeze)
+branches/
+tags/
+tag_release_1.0 (copy from trunk)?
2.0開始開發(fā),trunk此時(shí)為2.0的開發(fā)版?
發(fā)現(xiàn)1.0有bug,需要修改,基于1.0的tag做branch
此時(shí)的目錄結(jié)構(gòu)為
svn://proj/
+trunk/ ( dev 2.0 )
+branches/
+dev_1.0_bugfix (copy from tag/release_1.0)
+tags/
+release_1.0 (copy from trunk)?
在1.0 bugfix branch進(jìn)行1.0 bugfix開發(fā),在trunk進(jìn)行2.0開發(fā)?
在1.0 bugfix 完成之后,基于dev_1.0_bugfix的branch做release等?
根據(jù)需要選擇性的把dev_1.0_bugfix這個(gè)分支merge回trunk(什么時(shí)候進(jìn)行這步操作,要根據(jù)具體情況)?
這是一種很標(biāo)準(zhǔn)的開發(fā)模式,很多的公司都是采用這種模式進(jìn)行開發(fā)的。trunk永遠(yuǎn)是開發(fā)的主要目錄。

2.第二種方法,在每一個(gè)release的branch中進(jìn)行各自的開發(fā),trunk只做發(fā)布使用。
這種開發(fā)模式當(dāng)中,trunk是不承擔(dān)具體開發(fā)任務(wù)的,一個(gè)版本/階段的開發(fā)任務(wù)在開始的時(shí)候,根據(jù)已經(jīng)release的版本做新的開發(fā)分支,并且基于這個(gè)分支進(jìn)行開發(fā)。還是舉上面的例子,這里面的時(shí)序關(guān)系是:

1.0開發(fā),做dev1.0的branch
此時(shí)的目錄結(jié)構(gòu)
svn://proj/
+trunk/ (不擔(dān)負(fù)開發(fā)任務(wù) )
+branches/
+dev_1.0 (copy from trunk)
+tags/?
1.0開發(fā)完成,merge dev1.0到trunk
此時(shí)的目錄結(jié)構(gòu)
svn://proj/
+trunk/ (merge from branch dev_1.0)
+branches/
+dev_1.0 (開發(fā)任務(wù)結(jié)束,freeze)
+tags/?
根據(jù)trunk做1.0的tag
此時(shí)的目錄結(jié)構(gòu)
svn://proj/
+trunk/ (merge from branch dev_1.0)
+branches/
+dev_1.0 (開發(fā)任務(wù)結(jié)束,freeze)
+tags/
+tag_release_1.0 (copy from trunk)?
1.0開發(fā),做dev2.0分支
此時(shí)的目錄結(jié)構(gòu)
svn://proj/
+trunk/?
+branches/
+dev_1.0 (開發(fā)任務(wù)結(jié)束,freeze)
+dev_2.0 (進(jìn)行2.0開發(fā))
+tags/
+tag_release_1.0 (copy from trunk)?
1.0有bug,直接在dev1.0的分支上修復(fù)

?

外網(wǎng)訪問SVN服務(wù)器的方法

?

1、路由端口映射:

?????? 進(jìn)入路由器管理管理界面-->轉(zhuǎn)發(fā)規(guī)則-->虛擬服務(wù)器

?????? 將端口3690(svn默認(rèn)端口)和你的局域網(wǎng)IP(如192.168.1.104)映射,勾上“啟動(dòng)”,保存,OK了。

2、測試:比如你的電信IP為:121.11.201.104;svn客戶端輸入地址:svn://121.11.201.104:3690/trunk

3、要讓svn客戶端能用http訪問,好像要apche之類的服務(wù)器配合。

版本控制Subversion TortoiseSVN apache VisualSVN筆記


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国四虎影永久 | 99玖玖| 日日摸夜夜摸无需播放器 | 4hu影院永久在线播放 | 亚洲午夜久久久久中文字幕久 | 国产黄色一级大片 | 青草久草视频 | 国产精品u任我爽爆在线播放 | 老司机免费精品视频 | 久久免费国产精品一区二区 | 91高清在线成人免费观看 | 日本亚洲一区二区三区 | 天天干天天射天天舔 | 四虎4w4w| 国产精品自在自线免费观看 | 一级aaaaaa毛片免费 | 色综合色综合色综合网址 | 99爱在线视频这里只有精品 | 农村寡妇一级毛片免费播放 | 久久国产精品国产自线拍免费 | 成 人 a v免费视频 | 成人午夜视频在线观看 | 伊人网在线视频 | 国产成人综合日韩精品无 | 亚洲欧美日韩综合 | 日韩成人免费aa在线看 | 久久中文字幕网 | 国产精品国产三级国产a | 亚洲 欧美 另类 天天更新影院 | 奇米影视四色7777 | 国产美女白丝袜精品_a不卡 | 婷婷在线综合 | 欧美日韩亚洲精品一区二区三区 | 久久久国产精品免费 | 国产高清成人mv在线观看 | 婷婷综合另类小说色区 | 国产成人不卡亚洲精品91 | 亚洲国产精品一区二区不卡 | 婷婷在线网站 | 伊人久久综合影院首页 | 四虎影视精品永久免费网站 |