【前言】
SVN是一個開放的、免費的版本控制管理工具,相比CVS,Perforce等其他工具,SVN在版本模型,鎖定策略方面要更加靈活高效。下面就讓我們開始一步一步地學習如何使用SVN,如何把版本控制融入到日常工作中,更重要的是在學習版本控制的過程中樹立起團隊合作的理念。
關于SVN的參考資料,最好的莫過于其官方文檔《Version Control with Subversion》,作為新手一定要看的是里面的第一章《Fundamental Concepts》和第二章《Basic Usage》以及第九章《Subversion Complete Reference》。
為了做到真正的In Action,我采用了Step-by-Step的方式,模擬一個項目從檢出項目開始,到修改本地副本,再到提交變更,解決沖突等一系列的實際工作中會遇到的場景,期望通過這些場景和任務來對SVN和版本控制、團隊合作有一個基本的認識
【讀者范圍】
本系列文章并不是入門文章,對于對版本控制和SVN完全一無所知的新手,你需要從頭閱讀SVN的官方文檔(就是我前面提到的第一、二、九章),如果你想快速入門在我的博客上也提供了一系列的文章,請參考《版本控制之路系列》來獲得快速的認識。
請先確保你已經了解了以下的知識:
A. SVN是什么?SVN有什么好處? SVN中的Repository和Working copy的概念
B. SVN的服務端和客戶端軟件的安裝
C. SVN的passwd和authz文件的配置
D. SVN如何和Apache服務器搭配
E. SVN的常用命令含義(例如svn svnlook svnadmin svnsync)及其子命令
【閱讀順序】
本系列是我學習、實踐SVN過程的再現,對于新手推薦你按照順序一一閱讀,它會引導你一步步由淺到深地認識SVN。如果你已經有了SVN的使用經驗,可以參考下面的目錄自由地選擇你感興趣的章節閱讀。
【環境】
我的SVN服務端是CollabNet提供的,它把Apache和SVN綁定到一起,省去了單獨下載Apache和SVN的麻煩。關于如何配置Apache和SVN,請參考我之前寫過的另一篇文章:《使用Apache和SSL搭建安全的SVN訪問》。
至于SVN客戶端,我采用的是命令行。雖然TortoiseSVN作為一款非常出色的SVN客戶端工具將所有的操作都界面化了,但我還是推薦你使用最基本的命令行---這能讓你更快地熟悉SVN的同時知道自己到底做了什么。
【約定】
為了統一場景,下面我會使用一些約定,具體包括:
項目名稱: ECoupon
版本庫路徑: C:\Develop\MyRepository\Workspace
版本庫URL: http://localhost:8000/svn/Workspace
本地工作副本:E:\Tmp\ECoupon
臨時工作副本:E:\Temp\ECoupon_tmp
其中本地工作副本和臨時工作副本都是從版本庫的同一個位置檢出,前者是默認的副本(多數的實驗都基于該副本進行),后者是為了演示某些操作而是用的(例如合并操作)。在沒有特殊說明的情況下,我們的實驗都將基于該項目和版本庫進行。
示例中的路徑是可變的,你可以在你認為合適的任意路徑下安裝SVN,創建版本庫并進行實驗
本文假設你已經成功地在本地安裝了SVN軟件,而且配置了相關的用戶安全性驗證,而且版本庫就在你的機器上(確保你有足夠的權限從本地訪問版本庫,這會影響到后面某些示例的執行)
本文假設你使用的是Windows操作系統
本文假設你對DOS的一些常見命令和批處理命令有一定的認識
【目錄】
SVN In Action (1)
--創建一個版本庫
--訪問版本庫
--svn list和svnlook tree命令
SVN In Action (2)
--在版本庫中創建目錄
--為項目添加版本控制功能
SVN In Action (3)
--查看項目的版本控制信息
--查看項目的實時狀態信息
SVN In Action (4)
--添加新的內容到版本控制
--更新本地工作副本
SVN In Action (5)
--忽略已版本控制的資源:單個文件
SVN In Action (6)
--忽略已版本控制的資源:多個文件
SVN In Action (7)
--忽略已版本控制的資源:整個目錄
SVN In Action (8)
--查看版本庫資源內容
SVN In Action (9)
--比較本地工作副本和版本庫的差異
--同時更新本地副本和提交本地變更
SVN In Action (10)
--撤銷本地的修改:回滾文件的內容
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)
--創建分支
SVN In Action (17)
--切換分支
SVN In Action (18)
--從主干更新分支
SVN In Action (19)
--使用分支更新主干
SVN In Action (20)
--分支的生命周期
SVN In Action (21)
--標記
--主干、分支與標記的配合
SVN In Action (22)
--資源的鎖定與清理
SVN In Action (23)
--SVN日常操作基本命令總結
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
FeedBack:
# re: 【原】SVN In Action系列發布[未登錄]
只有注冊用戶登錄后才能發表評論。 | ||
![]() |
||
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關文章:
|
||
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
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基礎(4)
- J2SE(43)
- Java 工具(5)
- Oracle Concept(4)
- Oracle SQL/PLSQL(9)
- Oracle 開發(13)
- Oracle 管理(4)
- Oracle 調優
- Oracle 錯誤診斷
- RoR(19)
- UML(3)
- Unix / Linux(13)
- Web基礎(19)
- 其它技術(7)
- 感悟(3)
- 雜項(7)
- 架構與性能(8)
- 模式與重構(19)
- 灌水(8)
- 電影與音樂(16)
- 走過的路(1)
- 軟件過程與軟件方法(3)
- 陽光戶外(2)
- 項目管理(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熱點博客
好友博客
搜索
最新評論

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