posts - 262,  comments - 221,  trackbacks - 0
          【前言】
          SVN是一個(gè)開(kāi)放的、免費(fèi)的版本控制管理工具,相比CVS,Perforce等其他工具,SVN在版本模型,鎖定策略方面要更加靈活高效。下面就讓我們開(kāi)始一步一步地學(xué)習(xí)如何使用SVN,如何把版本控制融入到日常工作中,更重要的是在學(xué)習(xí)版本控制的過(guò)程中樹立起團(tuán)隊(duì)合作的理念。

          關(guān)于SVN的參考資料,最好的莫過(guò)于其官方文檔《Version Control with Subversion》,作為新手一定要看的是里面的第一章《Fundamental Concepts》和第二章《Basic Usage》以及第九章《Subversion Complete Reference》。

          為了做到真正的In Action,我采用了Step-by-Step的方式,模擬一個(gè)項(xiàng)目從檢出項(xiàng)目開(kāi)始,到修改本地副本,再到提交變更,解決沖突等一系列的實(shí)際工作中會(huì)遇到的場(chǎng)景,期望通過(guò)這些場(chǎng)景和任務(wù)來(lái)對(duì)SVN和版本控制、團(tuán)隊(duì)合作有一個(gè)基本的認(rèn)識(shí)

          【讀者范圍】
          本系列文章并不是入門文章,對(duì)于對(duì)版本控制和SVN完全一無(wú)所知的新手,你需要從頭閱讀SVN的官方文檔(就是我前面提到的第一、二、九章),如果你想快速入門在我的博客上也提供了一系列的文章,請(qǐng)參考《版本控制之路系列》來(lái)獲得快速的認(rèn)識(shí)。

          請(qǐng)先確保你已經(jīng)了解了以下的知識(shí):

          A. SVN是什么?SVN有什么好處? SVN中的Repository和Working copy的概念
          B. SVN的服務(wù)端和客戶端軟件的安裝
          C. SVN的passwd和authz文件的配置
          D. SVN如何和Apache服務(wù)器搭配
          E. SVN的常用命令含義(例如svn svnlook svnadmin svnsync)及其子命令

          【閱讀順序】
          本系列是我學(xué)習(xí)、實(shí)踐SVN過(guò)程的再現(xiàn),對(duì)于新手推薦你按照順序一一閱讀,它會(huì)引導(dǎo)你一步步由淺到深地認(rèn)識(shí)SVN。如果你已經(jīng)有了SVN的使用經(jīng)驗(yàn),可以參考下面的目錄自由地選擇你感興趣的章節(jié)閱讀。

          【環(huán)境】
          我的SVN服務(wù)端是CollabNet提供的,它把Apache和SVN綁定到一起,省去了單獨(dú)下載Apache和SVN的麻煩。關(guān)于如何配置Apache和SVN,請(qǐng)參考我之前寫過(guò)的另一篇文章:《使用Apache和SSL搭建安全的SVN訪問(wèn)》

          至于SVN客戶端,我采用的是命令行。雖然TortoiseSVN作為一款非常出色的SVN客戶端工具將所有的操作都界面化了,但我還是推薦你使用最基本的命令行---這能讓你更快地熟悉SVN的同時(shí)知道自己到底做了什么。

          【約定】
          為了統(tǒng)一場(chǎng)景,下面我會(huì)使用一些約定,具體包括:

          項(xiàng)目名稱:     ECoupon
          版本庫(kù)路徑:  C:\Develop\MyRepository\Workspace
          版本庫(kù)URL:   http://localhost:8000/svn/Workspace
          本地工作副本:E:\Tmp\ECoupon
          臨時(shí)工作副本:E:\Temp\ECoupon_tmp

          其中本地工作副本和臨時(shí)工作副本都是從版本庫(kù)的同一個(gè)位置檢出,前者是默認(rèn)的副本(多數(shù)的實(shí)驗(yàn)都基于該副本進(jìn)行),后者是為了演示某些操作而是用的(例如合并操作)。在沒(méi)有特殊說(shuō)明的情況下,我們的實(shí)驗(yàn)都將基于該項(xiàng)目和版本庫(kù)進(jìn)行。

          示例中的路徑是可變的,你可以在你認(rèn)為合適的任意路徑下安裝SVN,創(chuàng)建版本庫(kù)并進(jìn)行實(shí)驗(yàn)

          本文假設(shè)你已經(jīng)成功地在本地安裝了SVN軟件,而且配置了相關(guān)的用戶安全性驗(yàn)證,而且版本庫(kù)就在你的機(jī)器上(確保你有足夠的權(quán)限從本地訪問(wèn)版本庫(kù),這會(huì)影響到后面某些示例的執(zhí)行)

          本文假設(shè)你使用的是Windows操作系統(tǒng)

          本文假設(shè)你對(duì)DOS的一些常見(jiàn)命令和批處理命令有一定的認(rèn)識(shí)

          【目錄】
          SVN In Action (1)
            --創(chuàng)建一個(gè)版本庫(kù)
            --訪問(wèn)版本庫(kù)
            --svn list和svnlook tree命令

          SVN In Action (2)
            --在版本庫(kù)中創(chuàng)建目錄
            --為項(xiàng)目添加版本控制功能

          SVN In Action (3)
            --查看項(xiàng)目的版本控制信息
            --查看項(xiàng)目的實(shí)時(shí)狀態(tài)信息

          SVN In Action (4)
            --添加新的內(nèi)容到版本控制
            --更新本地工作副本

          SVN In Action (5)
            --忽略已版本控制的資源:單個(gè)文件

          SVN In Action (6)
            --忽略已版本控制的資源:多個(gè)文件

          SVN In Action (7)
             --忽略已版本控制的資源:整個(gè)目錄

          SVN In Action (8)
            --查看版本庫(kù)資源內(nèi)容

          SVN In Action (9)
            --比較本地工作副本和版本庫(kù)的差異
            --同時(shí)更新本地副本和提交本地變更

          SVN In Action (10)
            --撤銷本地的修改:回滾文件的內(nèi)容

          SVN In Action (11)
            --撤銷本地的修改:回滾屬性和操作

          SVN In Action (12)
            --svn update與svn revert
            --svn del與svn revert

          SVN In Action (13)
            --回滾到指定的版本

          SVN In Action (14)
            --回滾到指定的版本:使用svn update -r 命令
            --回滾到指定的版本:使用svn copy命令
            --回滾到指定的版本:使用svn cat命令配合重定向

          SVN In Action (15)
            --解決沖突和比較差異

          SVN In Action (16)
            --創(chuàng)建分支

          SVN In Action (17)
            --切換分支

          SVN In Action (18)
            --從主干更新分支

          SVN In Action (19)
            --使用分支更新主干

          SVN In Action (20)
            --分支的生命周期

          SVN In Action (21)
            --標(biāo)記
            --主干、分支與標(biāo)記的配合

          SVN In Action (22)
            --資源的鎖定與清理

          SVN In Action (23)
            --SVN日常操作基本命令總結(jié)


          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2009-12-13 12:29 Paul Lin 閱讀(3473) 評(píng)論(5)  編輯  收藏 所屬分類: 項(xiàng)目管理


          FeedBack:
          # re: 【原】SVN In Action系列發(fā)布
          2009-12-13 15:41 | fwy
          最好能提供chm版本  回復(fù)  更多評(píng)論
            
          # re: 【原】SVN In Action系列發(fā)布
          2009-12-13 19:46 | heyang
          支持!  回復(fù)  更多評(píng)論
            
          # re: 【原】SVN In Action系列發(fā)布
          2009-12-13 20:12 | Adrop
          能否提供pdf版本提供下載??
            回復(fù)  更多評(píng)論
            
          # re: 【原】SVN In Action系列發(fā)布[未登錄](méi)
          2009-12-13 22:46 | Paul Lin
          @fwy Adrop

          謝謝關(guān)注,我會(huì)在近期制作這個(gè)系列的CHM版本和PDF版本的。  回復(fù)  更多評(píng)論
            
          # re: 【原】SVN In Action系列發(fā)布
          2009-12-18 09:37 | Matt
          非常好, 清楚  回復(fù)  更多評(píng)論
            
          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點(diǎn)博客

          好友博客

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 上栗县| 嘉峪关市| 阳谷县| 饶河县| 武夷山市| 曲水县| 南宁市| 盱眙县| 大埔县| 凉城县| 资兴市| 祁阳县| 赤水市| 益阳市| 安龙县| 平安县| 美姑县| 井冈山市| 陆川县| 临桂县| 金华市| 崇明县| 玉屏| 镇巴县| 通城县| 宣化县| 渝中区| 菏泽市| 灵寿县| 蓬安县| 浮山县| 郁南县| 六安市| 乐业县| 湟中县| 吴桥县| 宿松县| 驻马店市| 仁布县| 诏安县| 林州市|