【前言】
SVN是一個(gè)開放的、免費(fèi)的版本控制管理工具,相比CVS,Perforce等其他工具,SVN在版本模型,鎖定策略方面要更加靈活高效。下面就讓我們開始一步一步地學(xué)習(xí)如何使用SVN,如何把版本控制融入到日常工作中,更重要的是在學(xué)習(xí)版本控制的過程中樹立起團(tuán)隊(duì)合作的理念。
關(guān)于SVN的參考資料,最好的莫過于其官方文檔《Version Control with Subversion》,作為新手一定要看的是里面的第一章《Fundamental Concepts》和第二章《Basic Usage》以及第九章《Subversion Complete Reference》。
為了做到真正的In Action,我采用了Step-by-Step的方式,模擬一個(gè)項(xiàng)目從檢出項(xiàng)目開始,到修改本地副本,再到提交變更,解決沖突等一系列的實(shí)際工作中會(huì)遇到的場(chǎng)景,期望通過這些場(chǎng)景和任務(wù)來對(duì)SVN和版本控制、團(tuán)隊(duì)合作有一個(gè)基本的認(rèn)識(shí)
【讀者范圍】
本系列文章并不是入門文章,對(duì)于對(duì)版本控制和SVN完全一無所知的新手,你需要從頭閱讀SVN的官方文檔(就是我前面提到的第一、二、九章),如果你想快速入門在我的博客上也提供了一系列的文章,請(qǐng)參考《版本控制之路系列》來獲得快速的認(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過程的再現(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)參考我之前寫過的另一篇文章:《使用Apache和SSL搭建安全的SVN訪問》。
至于SVN客戶端,我采用的是命令行。雖然TortoiseSVN作為一款非常出色的SVN客戶端工具將所有的操作都界面化了,但我還是推薦你使用最基本的命令行---這能讓你更快地熟悉SVN的同時(shí)知道自己到底做了什么。
【約定】
為了統(tǒng)一場(chǎng)景,下面我會(huì)使用一些約定,具體包括:
項(xiàng)目名稱: ECoupon
版本庫路徑: C:\Develop\MyRepository\Workspace
版本庫URL: http://localhost:8000/svn/Workspace
本地工作副本:E:\Tmp\ECoupon
臨時(shí)工作副本:E:\Temp\ECoupon_tmp
其中本地工作副本和臨時(shí)工作副本都是從版本庫的同一個(gè)位置檢出,前者是默認(rèn)的副本(多數(shù)的實(shí)驗(yàn)都基于該副本進(jìn)行),后者是為了演示某些操作而是用的(例如合并操作)。在沒有特殊說明的情況下,我們的實(shí)驗(yàn)都將基于該項(xiàng)目和版本庫進(jìn)行。
示例中的路徑是可變的,你可以在你認(rèn)為合適的任意路徑下安裝SVN,創(chuàng)建版本庫并進(jìn)行實(shí)驗(yàn)
本文假設(shè)你已經(jīng)成功地在本地安裝了SVN軟件,而且配置了相關(guān)的用戶安全性驗(yàn)證,而且版本庫就在你的機(jī)器上(確保你有足夠的權(quán)限從本地訪問版本庫,這會(huì)影響到后面某些示例的執(zhí)行)
本文假設(shè)你使用的是Windows操作系統(tǒng)
本文假設(shè)你對(duì)DOS的一些常見命令和批處理命令有一定的認(rèn)識(shí)
【目錄】
SVN In Action (1)
--創(chuàng)建一個(gè)版本庫
--訪問版本庫
--svn list和svnlook tree命令
SVN In Action (2)
--在版本庫中創(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)
--查看版本庫資源內(nèi)容
SVN In Action (9)
--比較本地工作副本和版本庫的差異
--同時(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 閱讀(3470)
評(píng)論(5) 編輯 收藏 所屬分類:
項(xiàng)目管理