posts - 262,  comments - 221,  trackbacks - 0
【前言】
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日常操作基本命令总结


-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。
posted on 2009-12-13 12:29 Paul Lin 阅读(3250) 评论(5)  编辑  收藏 所属分类: 项目管理


FeedBack:
# re: 【原】SVN In Action系列发布
2009-12-13 15:41 | fwy
最好能提供chm版本  回复  更多评论
  
# re: 【原】SVN In Action系列发布
2009-12-13 19:46 | heyang
支持!  回复  更多评论
  
# re: 【原】SVN In Action系列发布
2009-12-13 20:12 | Adrop
能否提供pdf版本提供下载??
  回复  更多评论
  
# re: 【原】SVN In Action系列发布[未登录]
2009-12-13 22:46 | Paul Lin
@fwy Adrop

谢谢关注,我会在近期制作这个系列的CHM版本和PDF版本的。  回复  更多评论
  
# re: 【原】SVN In Action系列发布
2009-12-18 09:37 | Matt
非常好, 清楚  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2009年12月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿(19)

随笔分类

随笔档案

BlogJava热点博客

好友博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜