• <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>

            厚積薄發,滴水穿石

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

            Subversion基礎:概念、安裝、配置和基本操作(轉)

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

             

            目錄

            一、基本概念

            1、什么是版本控制

            2、什么是 Subversion

            3、版本庫(repository)

            二、安裝

            1、準備工作

            2、安裝服務器端和客戶端

            3、建立版本庫(Repository)

            4、運行獨立服務器

            三、基本配置

            1、配置用戶和權限

            2、初始化導入

            四、基本操作流程

            1、取出(check out)

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

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

            一、基本概念

            1、什么是版本控制

            簡單點來說,版本控制就是數據倉庫,它可以記錄你對文件的每次更改。這樣,就算你在昏天黑地的改了幾個月后老板說不要了,還是按照過去那樣,你也不會抓狂,簡單的恢復版本操作就搞定一切。

            2、什么是 Subversion

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

            Subversion可以通過網絡訪問它的版本庫,從而使用戶可以在不同的電腦上使用。一定程度上可以說,允許用戶在各自的地方修改同一份數據是促進協作。進展可能非常的迅速,并沒有一個所有的改變都會取得效果的通道,由于所有的工作都有歷史版本,你不必擔心由于失去某個通道而影響質量,如果存在不正確的改變,只要取消改變。

            一些版本控制系統也是軟件配置管理(SCM)系統,這種系統經過特定的精巧設計來管理源代碼,有許多關于軟件開發的特性—本身理解編程語言、或者提供構建程序的工具。然而,Subversion不是這樣一個系統,它是一個通用系統,可以管理任何類型的文件集,對你這可能是源代碼,對別人,可能是一個貨物報價單或者是書稿,或者是電影剪輯等。

            3、版本庫(repository)

            Subversion 的核心就是 repository ,中文翻譯成“版本庫”。就是位于服務器端,統一管理和儲存數據的地方。

            二、安裝

            Subversion的設計包括一個抽象的網絡層,這意味著版本庫可以通過各種服務器進程訪問。理論上講,Subversion可以使用無限數量的網絡協議實現,目前實踐中存在著兩種服務器

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

            • ApacheSVN:Apache是最流行的web服務器,通過使用 mod_dav_svn 模塊,Apache可以訪問版本庫,并且可以使客戶端使用HTTP的擴展協議WebDAV/DeltaV進行訪問。(作者注:以下稱這種服務器為“ApacheSVN服務器”。)

            下面介紹 SVNServer 服務器的安裝,ApacheSVN 服務器的安裝使用請看我寫的《Subversion高級應用:SVN的多種認證方式》。

            環境

            OS:Windows XP SP2

            Web:Apache 2.2.6

            SVN:svn-win32-1.4.6

            1、準備工作。

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

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

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

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

            2、安裝服務器端和客戶端

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

            其次安裝 Subversion(以下簡稱SVN)的服務器端和客戶端。下載下來的服務器端是個 zip 壓縮包,直接解壓縮即可,比如我解壓到 E:\subversion 。客戶端安裝文件是個 exe 可執行文件,直接運行按提示安裝即可,客戶端安裝完成后提示重啟。

            3、建立版本庫(Repository)

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

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

              svnadmin create E:\svn\repos1

            此命令在 E:\svn 下建立一個版本庫 repos1 。repos1 下面會自動生成一些文件夾和文件。

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

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

            4、運行獨立服務器

            此時 subversion 服務還沒有開始,只是通過它的命令建立了版本庫。繼續在剛才的命令窗口輸入: 

              svnserve.exe –daemon

            svnserve 將會在端口 3690 等待請求,--daemon(兩個短橫線)選項告訴 svnserve 以守護進程方式運行,這樣在手動終止之前不會退出。注意不要關閉命令行窗口,關閉窗口會把 svnserve 停止。

            為了驗證svnserve正常工作,使用TortoiseSVN -> Repo-browser 來查看版本庫。在彈出的 URL 對話框中輸入: 

              svn://localhost/svn/repos1

            點 OK 按鈕后就可以看見 repos1 版本庫的目錄樹結構了,只不過這時 repos1 是個空庫。

            你也可以使用--root選項設置根位置來限制服務器的訪問目錄,從而增加安全性和節約輸入svnserve URL的時間: 

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

            以前面的測試作為例,svnserve 將會運行為: 

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

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

              svn://localhost/repos1

            三、基本配置

            SVNServer服務器安裝完成后,必須經過基本配置才能使用。

            1、配置用戶和權限

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

            將: 

              # password-db = passwd

            改為: 

              password-db = passwd

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

            然后修改同目錄的passwd文件,增加一個帳號:

            將:

            [users]
            # harry = harryssecret
            # sally = sallyssecret

            增加帳號:

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

            2、初始化導入

            下面就是將我們的數據(項目)導入到這個版本庫,以后就由版本庫管理我們的數據。我們的任何改動都會被版本庫記錄下來,甚至我們自己丟失、改錯數據時版本庫也能幫我們找回數據。

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

            點 OK 后要求輸入帳號。我們在用戶名和密碼處都輸入 test 。完成后 guestbook 中的內容全部導入到了 svn://localhost/svn/repos1/guestbook 。

            我們看到在 e:\svn\repos1 沒有任何變化,連個 guestbook 文件夾都沒有建立,唯一的變化就是e:\svn\repos1容量變大了。實際上我們源guestbook中的內容已經導入 repos1 版本庫了,源 guestbook 文件夾可以刪除了。

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

            四、基本操作流程

            1、取出(check out)

            取出版本庫到一個工作拷貝:

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

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

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

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

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

            posted on 2012-06-01 10:25 Wangkeke 閱讀(2707) 評論(0)  編輯 收藏 引用 所屬分類: Tools

            国产99久久九九精品无码| 久久99这里只有精品国产| 99精品久久精品| 久久国产免费| 亚洲中文字幕无码久久精品1| 91精品国产高清久久久久久io | 久久人人爽人人爽人人片AV不 | 91精品国产乱码久久久久久| 久久精品国产免费一区| 久久人人爽人人爽AV片| 亚洲AV无码久久精品色欲| 国内精品久久久久影院网站 | 久久国产香蕉一区精品| 亚洲AV无一区二区三区久久 | 国产午夜久久影院| 久久久久av无码免费网| 国内精品欧美久久精品| 精品久久久久久久无码 | 99久久人人爽亚洲精品美女| 久久这里的只有是精品23| 欧美亚洲国产精品久久蜜芽 | 久久久久久毛片免费播放| 99久久精品这里只有精品| 久久夜色精品国产噜噜亚洲AV| 精品久久人人做人人爽综合| 91精品国产9l久久久久| 欧洲人妻丰满av无码久久不卡| 色99久久久久高潮综合影院| 久久久久人妻精品一区三寸蜜桃| 国内精品久久久久久久97牛牛| 2021最新久久久视精品爱| 亚洲欧美一区二区三区久久| 国产精品日韩欧美久久综合| 99久久国产综合精品网成人影院| 国产亚洲美女精品久久久久狼| 午夜欧美精品久久久久久久| 麻豆精品久久久久久久99蜜桃| 青青热久久国产久精品| 久久久久无码中| 亚洲精品成人久久久| 色妞色综合久久夜夜|