【前言】
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é)
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
FeedBack:
# re: 【原】SVN In Action系列發(fā)布
# re: 【原】SVN In Action系列發(fā)布
# re: 【原】SVN In Action系列發(fā)布
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||
相關(guān)文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
29 | 30 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
常用鏈接
留言簿(21)
隨筆分類
- J2EE 框架(9)
- J2EE基礎(chǔ)(4)
- J2SE(43)
- Java 工具(5)
- Oracle Concept(4)
- Oracle SQL/PLSQL(9)
- Oracle 開(kāi)發(fā)(13)
- Oracle 管理(4)
- Oracle 調(diào)優(yōu)
- Oracle 錯(cuò)誤診斷
- RoR(19)
- UML(3)
- Unix / Linux(13)
- Web基礎(chǔ)(19)
- 其它技術(shù)(7)
- 感悟(3)
- 雜項(xiàng)(7)
- 架構(gòu)與性能(8)
- 模式與重構(gòu)(19)
- 灌水(8)
- 電影與音樂(lè)(16)
- 走過(guò)的路(1)
- 軟件過(guò)程與軟件方法(3)
- 陽(yáng)光戶外(2)
- 項(xiàng)目管理(36)
隨筆檔案
- 2012年2月 (3)
- 2011年11月 (4)
- 2011年10月 (1)
- 2011年9月 (2)
- 2011年8月 (2)
- 2011年7月 (5)
- 2011年6月 (3)
- 2011年5月 (1)
- 2011年4月 (1)
- 2011年3月 (3)
- 2011年1月 (1)
- 2010年12月 (1)
- 2010年11月 (5)
- 2010年10月 (3)
- 2010年9月 (1)
- 2010年7月 (1)
- 2010年6月 (1)
- 2010年5月 (4)
- 2010年4月 (9)
- 2010年3月 (19)
- 2010年2月 (8)
- 2010年1月 (3)
- 2009年12月 (34)
- 2009年11月 (1)
- 2009年10月 (2)
- 2009年7月 (4)
- 2009年6月 (5)
- 2009年5月 (3)
- 2009年4月 (2)
- 2009年3月 (1)
- 2009年2月 (5)
- 2009年1月 (5)
- 2008年12月 (13)
- 2008年11月 (4)
- 2008年10月 (1)
- 2008年9月 (6)
- 2008年8月 (5)
- 2008年7月 (3)
- 2008年6月 (31)
- 2008年5月 (10)
- 2008年4月 (9)
- 2008年3月 (7)
- 2008年2月 (4)
- 2008年1月 (19)
BlogJava熱點(diǎn)博客
好友博客
搜索
最新評(píng)論

- 1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄](méi)
- 666666666666666666666這幾天正在做個(gè)類似工程編碼出現(xiàn)錯(cuò)誤
- --李
- 2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡(jiǎn)化文件讀寫
- 不錯(cuò)
- --阿斯蘭
- 3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
- 多謝分享
- --thx
- 4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
- 評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
- --karl
- 5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄](méi)
- 謝謝,幫了我大忙!
- --小龍