进入公司之前,都还不知道有SVN,CVS等等项目管理工具,到公司之后才发现,做一个项目,项目的管理是多么重要。不公司一直是用的CVS,因为项目很稳定,很多东西都用了十年左右了,所以公司不想换工具及框架之类的(PS:公司现在还是用Struts1)。但是呢,自己偶尔也在外面接单子,而我呢,就比较喜欢创新,有点初生牛犊不怕虎的感觉,我觉得人嘛,刚出来肯定得闯闯的吧,总不能墨守陈规吧,有很多东西我们必须得跟上时代的步伐啊!而且在当今SVN的出现,鉴于此,就大胆的在自己的项目管理使用了SVN,最主要就是它是个开源软件。下面就谈谈一些心得。
SVN全名Subversion。SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。本文只讨论Windows的情况。其官方网站是:http://www.tigris.org/
在介绍SVN的应用前,先讨论一下源码管理的一个重要的基本概念:Repository。Repository 就是源码的集中存放处,所有修改后提交的源码就是保存在这里,并在其中记录所有的修改版本,分支版本,版本合并,以及并发修改处理等。传统的VSS或 CVS都是采用类似C/S的应用方式,有一个独立的服务端来做这些工作。而SVN则要灵活得多,它支持三种方式:独立服务器方式、Web服务器方式。
SVN的安装和使用。
因为本文只讨论Windows下的Local方式,所以不需要独立服务器或Web服务器。SVN的客户端和CVS一样,也是命令行方式工作。但在Windows平台下,我们有还别的选择,这就是易用性很好的一个实现:TortoiseSVN(注意:这是一个独立于SVN的项目,类似于WinCVS与CVS的关系)。其官方网站是:http://www.tortoisesvn.org,下载 ... N网站说明下载安装。
安装的过程非常简单,只是安装完成后必须重启一下,因为它要集成到Windows的资源管理器中。虽然CVS也有一个WinCVS不错,但是它毕竟是一个额外的客户端,不如TortoiseSVN这么方便。TortoiseSVN装好后,只要在资源管理器中任何一个文件夹中点右键,即可出现如下图所示的菜单(我打了中文包,所以显示是中文,可以在Settings中选择任何一种已经安装的语言包):
第一步:建立Local Repository
假设现在要开始一个项目,叫做Project1。先在U盘(假设为U:)建立一个文件夹:u:\svn\project1。然后在这个文件夹上点右键,选择:TortoiseSVN|在此创建文件库。有两种方式供选择:
Berkeley数据库和本地文件系统。本地文件系统方式有点类似于CVS,但实现方式上有所不同。Berkeley数据库据说是目前最好的嵌入式数据库解决方案,TortoiseSVN默认选择BDB方式,推荐。确定创建后稍等一会即会弹出一个提示窗,说明文件库创建成功。
第二步:创建工作文件夹
在本地硬盘(如D盘)创建一个工作文件夹:d:\working\project1。然后在这个文件夹上点右键,选择:SVN取出。显示如下对话框:
其中唯一需要指定的就是文件库URL,Local方式是使用file协议。确定后显示如下对话框:
点确定后完成创建工作,在文件夹中看到一个隐藏的文件夹:.svn。其中记录了工作文件夹的一些必要信息,功能与CVS的CVS文件夹一样。一个SVN的工作文件夹的图标上将会多了一个绿色的勾,所有被加入Respository的内容都会在图标上加上这样的绿勾,如图:
第三步:开始写程序
现在可以在此工作目录中创建源程序文件或文件夹。在工作文件夹中的任何文件或文件夹(除了.svn文件夹)的右键菜单上都会增加一些项目,下图分别为工作文件夹、工作文件夹下的子文件夹、工作文件夹中的文件、已经提交的文件的右键菜单内容:
从最左边的菜单和最右边的菜单上可以看到,SVN/TortoiseSVN支持了CVS的几乎所有功能,还增加了一些很实用的功能(比如文件/文件夹的重命名,在这CVS里是最让人头疼的问题之一)。这又是SVN的大优点。
如果你的源程序原来就存在,可以立即导入到Repository里:在你原来的源程序文件夹上点右键,选择TortoiseSVN|导入。即可。不过要注意:最好先在TortoiseSVN|设置里设定排除/忽略样式(可以设置文件夹或文件名,支持通配符,区分大小写!!!),或是先删除不必要导入的文件。然后再取出(Checkout)到工作目录即可。
第四步:将写好的程序提交到Repository
选择所有要加入的文件和文件夹,然后点TortoiseSVN|加入。将显示如下对话框(以将本文提交为例):
把它们加入Repository,确定后它的图标上将显示一个“+”号,表示这个文件已经加入,但还未提交。再在当前文件夹上点右键,选择SVN提交即可。将显示如下对话框(提交本文,其中的Repository是我实际使用的)
成功提交后,它的图标上也将显示一个前面所示的那样的绿勾。
第五步:日常使用
无非是重复前面的加入/提交等操作。如果在其它机器上使用,则需要重新创建工作目录,并取出(Checkout)Repository中的源码。如果同时在多台机器上使用,则需要使用SVN更新功能来将此工作文件夹中的内容更新为Repository中的相应版本。
分享到:
相关推荐
Subversion(简称SVN)就是这样一款广泛应用的版本控制系统,而SVNManager则是一个基于Web的SVN管理工具,为用户提供了一种方便的方式来管理SVN仓库和用户权限。 **1. SVNManager安装包** SVNManager通常以源码...
** SVN(Subversion)版本控制系统详解 ** SVN,全称Subversion,是一种广泛...随着技术的发展,SVN也在不断优化,以更好地适应现代开发环境的需求。掌握SVN的使用,对于提升团队协作效率和项目管理能力具有重要意义。
综上所述,SVN分级授权工具部署手册是一个详尽的技术文档,它不仅指导用户如何在Windows环境下部署和配置SVN服务,还包括了使用SVN分级授权工具进行日常管理和维护的具体操作。通过遵循手册中的步骤,用户可以实现对...
SVN(Subversion)是一种版本控制系统,广泛应用于软件开发、文档管理等领域。为了帮助读者更好地理解 SVN 的安装流程,本文将对 SVN 安装流程图进行详细的解释。 安装 SVN 服务器(VisualSVN-Server) 在安装 SVN...
总的来说,这个基于Web的SVN管理系统是一个结合了SVN、HTTP/HTTPS、LDAP、PHP和MySQL等技术的多层面项目,旨在提供一个便捷、安全的代码版本控制解决方案,并且可以通过Docker简化部署流程。对于学习Web开发、版本...
在IT行业中,版本控制系统是开发团队协作的重要工具,其中Subversion(简称svn)是一个广泛应用的分布式版本控制系统。在使用svn时,有时会遇到文件名或文件内容显示为乱码的问题,这给团队协作带来了困扰。本文将...
标题 "svn" 指的是Subversion,一个广泛使用的版本控制...如果你正在学习或使用SVN,建议深入研究其命令行工具和图形界面客户端,了解它们的功能和用法,同时实践在实际项目中应用SVN,这将极大地提升你的开发技能。
铁威马创建SVN服务器是一项在企业环境中常用于版本控制的技术实践。SVN,全称Subversion,是一种开源的版本控制系统,它允许团队成员协作编辑和管理项目文件,记录文件和目录的更改历史,便于回溯和协作。下面将详细...
### SVN源码地址知识点概述 #### 一、Apache的SVN库 ...这些SVN地址为开发者提供了一个宝贵的资源库,可以帮助他们更好地了解和学习各种开源技术的核心实现原理,从而促进技术的发展和个人能力的成长。
它基于Subversion(SVN)技术,提供了一种高效、直观的方式来管理源代码和其他文件的版本。Subversion是一个开源的集中式版本控制系统,它允许开发者跟踪并管理项目中的文件变更,方便团队协作和代码版本管理。 ...
SVN,全称为Subversion,是一款广泛应用于软件版本控制系统中的开源工具。它允许开发者在项目开发过程中跟踪和管理代码的变化,使得多人协作变得有序且高效。SVN服务器是Subversion系统的核心部分,负责存储和管理...
SVN,全称为Subversion,是一款广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪文件和目录的变化,并提供了回滚到历史版本的能力,从而确保了代码库的完整性和一致性。SVN1.4.8是Subversion的...
综上所述,"svn本地自动部署与远程部署web应用代码方案"涉及到的核心技术包括Subversion的版本控制,`post-commit`钩子的使用,以及通过PHP脚本实现的自动化部署流程。理解并熟练掌握这些知识,对于提升开发团队的...
以下是对这些技术的详细解释和集成步骤。 **Ubuntu** 是一个基于Debian的开源Linux发行版,广泛用于个人电脑、服务器和云计算环境。它提供了丰富的软件包管理系统,便于安装和管理各种应用。 **Subversion (SVN)**...
在Ubuntu环境下,通过图形用户界面(GUI)安装和使用SVN,可以极大地方便非技术背景的团队成员参与项目,降低学习成本,提高团队整体的工作效率。 ### 安装步骤详解 #### 1. 安装基础依赖包 首先,确保系统中已经...
### SVN视频教程学习知识点 #### 一、SVN简介与安装配置 ...通过以上内容的学习,可以全面掌握SVN的基本概念、操作方法以及在实际项目中的应用技巧,有助于提高软件开发过程中的版本管理和协同工作效率。
本篇文章将深入探讨如何搭建SVN服务器,以及它在Struts项目中的应用。 首先,我们需要理解SVN的基本概念。SVN是一个开源的版本控制系统,它允许用户管理文件和目录的不同版本,方便团队成员协作开发,同时跟踪每一...
Java是一种广泛应用的面向对象的编程语言,广泛用于企业级应用开发,而PHP则主要用于Web开发,两者都是团队开发中常见的技术栈。 1. **Java与svn**: - **项目结构**:Java项目通常遵循Maven或Gradle的约定,这些...