• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            厚積薄發(fā),滴水穿石

            搬家到主站了:http://www.cnblogs.com/cokecoffe/
            隨筆 - 45, 文章 - 8, 評(píng)論 - 12, 引用 - 0
            數(shù)據(jù)加載中……

            Subversion基礎(chǔ):概念、安裝、配置和基本操作(轉(zhuǎn))

            轉(zhuǎn)自:http://www.uml.org.cn/pzgl/200902137.asp
            摘要:介紹了 Subversion 的基本概念。詳細(xì)講解了在Windows下如何安裝 Subversion,如何配置一個(gè)基本的Subversion 服務(wù)器

             

            目錄

            一、基本概念

            1、什么是版本控制

            2、什么是 Subversion

            3、版本庫(kù)(repository)

            二、安裝

            1、準(zhǔn)備工作

            2、安裝服務(wù)器端和客戶端

            3、建立版本庫(kù)(Repository)

            4、運(yùn)行獨(dú)立服務(wù)器

            三、基本配置

            1、配置用戶和權(quán)限

            2、初始化導(dǎo)入

            四、基本操作流程

            1、取出(check out)

            2、存入(check in)/提交(commit)

            ------------------------------------------------------------------分 割 線---------------------------------------------------------------

            一、基本概念

            1、什么是版本控制

            簡(jiǎn)單點(diǎn)來(lái)說(shuō),版本控制就是數(shù)據(jù)倉(cāng)庫(kù),它可以記錄你對(duì)文件的每次更改。這樣,就算你在昏天黑地的改了幾個(gè)月后老板說(shuō)不要了,還是按照過(guò)去那樣,你也不會(huì)抓狂,簡(jiǎn)單的恢復(fù)版本操作就搞定一切。

            2、什么是 Subversion

            Subversion是一個(gè)自由/開(kāi)源版本控制系統(tǒng),它管理文件和目錄可以超越時(shí)間。一組文件存放在中心版本庫(kù),這個(gè)版本庫(kù)很像一個(gè)普通的文件服務(wù)器,只是它可以記錄每一次文件和目錄的修改,這便使你可以取得數(shù)據(jù)以前的版本,從而可以檢查所作的更改。從這個(gè)方面看,許多人把版本控制系統(tǒng)當(dāng)作一種“時(shí)間機(jī)器”。

            Subversion可以通過(guò)網(wǎng)絡(luò)訪問(wèn)它的版本庫(kù),從而使用戶可以在不同的電腦上使用。一定程度上可以說(shuō),允許用戶在各自的地方修改同一份數(shù)據(jù)是促進(jìn)協(xié)作。進(jìn)展可能非常的迅速,并沒(méi)有一個(gè)所有的改變都會(huì)取得效果的通道,由于所有的工作都有歷史版本,你不必?fù)?dān)心由于失去某個(gè)通道而影響質(zhì)量,如果存在不正確的改變,只要取消改變。

            一些版本控制系統(tǒng)也是軟件配置管理(SCM)系統(tǒng),這種系統(tǒng)經(jīng)過(guò)特定的精巧設(shè)計(jì)來(lái)管理源代碼,有許多關(guān)于軟件開(kāi)發(fā)的特性—本身理解編程語(yǔ)言、或者提供構(gòu)建程序的工具。然而,Subversion不是這樣一個(gè)系統(tǒng),它是一個(gè)通用系統(tǒng),可以管理任何類(lèi)型的文件集,對(duì)你這可能是源代碼,對(duì)別人,可能是一個(gè)貨物報(bào)價(jià)單或者是書(shū)稿,或者是電影剪輯等。

            3、版本庫(kù)(repository)

            Subversion 的核心就是 repository ,中文翻譯成“版本庫(kù)”。就是位于服務(wù)器端,統(tǒng)一管理和儲(chǔ)存數(shù)據(jù)的地方。

            二、安裝

            Subversion的設(shè)計(jì)包括一個(gè)抽象的網(wǎng)絡(luò)層,這意味著版本庫(kù)可以通過(guò)各種服務(wù)器進(jìn)程訪問(wèn)。理論上講,Subversion可以使用無(wú)限數(shù)量的網(wǎng)絡(luò)協(xié)議實(shí)現(xiàn),目前實(shí)踐中存在著兩種服務(wù)器

            • SVNServer:svnserve 是一個(gè)小的(也叫輕型的)、獨(dú)立服務(wù)器,使用自己定義的協(xié)議和客戶端。(作者注:以下稱(chēng)這種服務(wù)器為“svnserver服務(wù)器”。)

            • ApacheSVN:Apache是最流行的web服務(wù)器,通過(guò)使用 mod_dav_svn 模塊,Apache可以訪問(wèn)版本庫(kù),并且可以使客戶端使用HTTP的擴(kuò)展協(xié)議WebDAV/DeltaV進(jìn)行訪問(wèn)。(作者注:以下稱(chēng)這種服務(wù)器為“ApacheSVN服務(wù)器”。)

            下面介紹 SVNServer 服務(wù)器的安裝,ApacheSVN 服務(wù)器的安裝使用請(qǐng)看我寫(xiě)的《Subversion高級(jí)應(yīng)用:SVN的多種認(rèn)證方式》。

            環(huán)境

            OS:Windows XP SP2

            Web:Apache 2.2.6

            SVN:svn-win32-1.4.6

            1、準(zhǔn)備工作。

            (1)獲取 Subversion 服務(wù)器程序。

            到官方網(wǎng)站(http://subversion.tigris.org/)下載最新的服務(wù)器安裝程序。目前最新的是1.4.6版本,具體下載地址在:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91 ,注意找 for apache 2.2.x 版本的。

            (2)獲取 TortoiseSVN 客戶端程序。

            從官方網(wǎng)站 http://tortoisesvn.net/downloads 獲取最新的 TortoiseSVN 。TortoiseSVN 是一個(gè)客戶端程序,用來(lái)與 subvers 服務(wù)器端通訊。Subversion 自帶一個(gè)客戶端程序 svn.exe ,但 TortoiseSVN 更好操作,提高效率。

            2、安裝服務(wù)器端和客戶端

            首先安裝 Apache 2.2.6 ,具體安裝方法大家參考相關(guān)資料,或者參看我寫(xiě)的《Windows下安裝Apache 2.2.x》。

            其次安裝 Subversion(以下簡(jiǎn)稱(chēng)SVN)的服務(wù)器端和客戶端。下載下來(lái)的服務(wù)器端是個(gè) zip 壓縮包,直接解壓縮即可,比如我解壓到 E:\subversion 。客戶端安裝文件是個(gè) exe 可執(zhí)行文件,直接運(yùn)行按提示安裝即可,客戶端安裝完成后提示重啟。

            3、建立版本庫(kù)(Repository)

            運(yùn)行Subversion服務(wù)器需要首先要建立一個(gè)版本庫(kù)(Repository)。版本庫(kù)可以看作是服務(wù)器上集中存放和管理數(shù)據(jù)的地方。

            開(kāi)始建立版本庫(kù)。首先建立 e:\svn 空文件夾作為所有版本庫(kù)的根目錄。然后,進(jìn)入命令行并切換到subversion的bin目錄。輸入如下命令:

              svnadmin create E:\svn\repos1

            此命令在 E:\svn 下建立一個(gè)版本庫(kù) repos1 。repos1 下面會(huì)自動(dòng)生成一些文件夾和文件。

            我們也可以使用 TortoiseSVN 圖形化的完成這一步:

            先建立空目錄 E:\svn\repos1 ,注意一定是要空的。然后在 repos1 文件夾上“右鍵->TortoiseSVN->Create Repository here...”,然后可以選擇版本庫(kù)模式,這里使用默認(rèn)的FSFS即可,然后就創(chuàng)建了一系列文件夾和文件,同命令行建立的一樣。

            4、運(yùn)行獨(dú)立服務(wù)器

            此時(shí) subversion 服務(wù)還沒(méi)有開(kāi)始,只是通過(guò)它的命令建立了版本庫(kù)。繼續(xù)在剛才的命令窗口輸入: 

              svnserve.exe –daemon

            svnserve 將會(huì)在端口 3690 等待請(qǐng)求,--daemon(兩個(gè)短橫線)選項(xiàng)告訴 svnserve 以守護(hù)進(jìn)程方式運(yùn)行,這樣在手動(dòng)終止之前不會(huì)退出。注意不要關(guān)閉命令行窗口,關(guān)閉窗口會(huì)把 svnserve 停止。

            為了驗(yàn)證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來(lái)查看版本庫(kù)。在彈出的 URL 對(duì)話框中輸入: 

              svn://localhost/svn/repos1

            點(diǎn) OK 按鈕后就可以看見(jiàn) repos1 版本庫(kù)的目錄樹(shù)結(jié)構(gòu)了,只不過(guò)這時(shí) repos1 是個(gè)空庫(kù)。

            你也可以使用--root選項(xiàng)設(shè)置根位置來(lái)限制服務(wù)器的訪問(wèn)目錄,從而增加安全性和節(jié)約輸入svnserve URL的時(shí)間: 

              svnserve.exe --daemon --root drive:\path\to\repository

            以前面的測(cè)試作為例,svnserve 將會(huì)運(yùn)行為: 

              svnserve.exe --daemon --root e:\svn

            然后TortoiseSVN中的版本庫(kù)瀏覽器URL縮減為: 

              svn://localhost/repos1

            三、基本配置

            SVNServer服務(wù)器安裝完成后,必須經(jīng)過(guò)基本配置才能使用。

            1、配置用戶和權(quán)限

            用文本編輯器打開(kāi)E:\svn\repos1\conf目錄,修改svnserve.conf:

            將: 

              # password-db = passwd

            改為: 

              password-db = passwd

            即去掉前面的 # 注釋符,注意前面不能有空格。

            然后修改同目錄的passwd文件,增加一個(gè)帳號(hào):

            將:

            [users]
            # harry = harryssecret
            # sally = sallyssecret

            增加帳號(hào):

              [users]
              #harry = harryssecret
              #sally = sallyssecret
              test = test

            2、初始化導(dǎo)入

            下面就是將我們的數(shù)據(jù)(項(xiàng)目)導(dǎo)入到這個(gè)版本庫(kù),以后就由版本庫(kù)管理我們的數(shù)據(jù)。我們的任何改動(dòng)都會(huì)被版本庫(kù)記錄下來(lái),甚至我們自己丟失、改錯(cuò)數(shù)據(jù)時(shí)版本庫(kù)也能幫我們找回?cái)?shù)據(jù)。

            比如,我在 d:\wwwroot 下有個(gè) guestbook 文件夾,里面存放的是我編寫(xiě)的留言簿程序。在此文件夾上“右鍵 -> TortoiseSVN -> Import...” ,在彈出對(duì)話框的“URL of repository”輸入“svn://localhost/repos1/guestbook”。在“Import message”輸入“導(dǎo)入整個(gè)留言簿”作為注釋。

            點(diǎn) OK 后要求輸入帳號(hào)。我們?cè)谟脩裘兔艽a處都輸入 test 。完成后 guestbook 中的內(nèi)容全部導(dǎo)入到了 svn://localhost/svn/repos1/guestbook 。

            我們看到在 e:\svn\repos1 沒(méi)有任何變化,連個(gè) guestbook 文件夾都沒(méi)有建立,唯一的變化就是e:\svn\repos1容量變大了。實(shí)際上我們?cè)磄uestbook中的內(nèi)容已經(jīng)導(dǎo)入 repos1 版本庫(kù)了,源 guestbook 文件夾可以刪除了。

            需要注意的是,這一步操作可以完全在另一臺(tái)安裝了 TortoiseSVN 的客戶機(jī)上進(jìn)行。例如運(yùn)行svnserve的主機(jī)的IP是133.96.121.22,則URL部分輸入的內(nèi)容就是“svn://133.96.121.22” 。

            四、基本操作流程

            1、取出(check out)

            取出版本庫(kù)到一個(gè)工作拷貝:

            來(lái)到任意空目錄下,比如在f分區(qū)建立一個(gè)空文件夾 f:\work 。“右鍵 -> SVN Checkout”。在“URL of repository”中輸入“svn://localhost/svn/repos1/guestbook”,這樣我們就得到了一份 guestbook 中內(nèi)容的工作拷貝。

            2、存入(check in)/提交(commit)

            在工作拷貝中作出修改并提交:

            在 guestbook 工作拷貝中隨便打開(kāi)一個(gè)文件,作出修改,然后“右鍵 -> SVN Commit... ”。這樣我們就把修改提交到了版本庫(kù),版本庫(kù)根據(jù)情況存儲(chǔ)我們提交的數(shù)據(jù)。

            在修改過(guò)的文件上“右鍵 -> TortoiseSVN -> Show Log” ,可以看到對(duì)這個(gè)文件所有的提交。在不同的 revision 條目上“右鍵 -> Compare with working copy”,我們可以比較工作拷貝的文件和所選 revision 版本的區(qū)別。

            posted on 2012-06-01 10:25 Wangkeke 閱讀(2714) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Tools

            97久久精品国产精品青草| 国内精品久久久久久中文字幕| 久久福利资源国产精品999| 午夜视频久久久久一区| 狠狠综合久久综合88亚洲| 久久免费精品视频| 麻豆久久久9性大片| 亚洲国产成人久久精品动漫| 怡红院日本一道日本久久 | 亚洲美日韩Av中文字幕无码久久久妻妇 | 91视频国产91久久久| 久久久久亚洲AV综合波多野结衣| 亚洲精品无码久久久久sm| 国产免费福利体检区久久| 久久九九精品99国产精品| 欧美久久久久久精选9999| 久久精品人人做人人爽电影蜜月| 国产精品亚洲综合专区片高清久久久 | 久久久久国色AV免费看图片| 久久夜色精品国产噜噜噜亚洲AV| 久久人妻少妇嫩草AV蜜桃| 久久精品国产影库免费看| 久久亚洲AV成人无码国产| 深夜久久AAAAA级毛片免费看| 嫩草影院久久99| 久久er热视频在这里精品| 亚洲AV无码一区东京热久久| 亚洲精品综合久久| 青草久久久国产线免观| 久久中文字幕视频、最近更新| 久久电影网2021| 天天综合久久久网| 久久国产免费观看精品| 久久99精品国产| 国产高清国内精品福利99久久| 久久久国产精品福利免费| 亚洲嫩草影院久久精品| 国产日韩欧美久久| 久久av高潮av无码av喷吹| 日韩亚洲国产综合久久久| 久久青青国产|