`

svn的基本使用

阅读更多
转载:http://jiangzhengjun.iteye.com/blog/491824
一、基本使用
1、图标说明:
灰色向右箭头:本地修改过
蓝色向左箭头:SVN上修改过
灰色向右且中间有个加号的箭头:本地比SVN上多出的文件
蓝色向左且中间有个加号的箭头:SVN上比本地多出的文件
灰色向右且中间有个减号的箭头:本地删除了,而SVN上未删除的文件
蓝色向左且中间有个减号的箭头:SVN上删除了,而本地未删除的文件
红色双向箭头:SVN上修改过,本地也修改过的文件
2、与代码库断开连接
可以与代码库断开,具体操作 右击|小组|断开连接...,在操作过程中可以删除svn相关管理文件,也可保留。
3、导入项目
可以从代码库上把工程导到本地,个体操作 文件|导入...|SVN|从 SVN 检出项目。注:在此操作过程中有一个“选择检出的方式”选项,有两种,第一种是“做为新项目检出,并使用新建项目向导进行配置(仅当资源库中不存在.project工程文件时才可用,意思是如果代码库中有了这个工程文件,那么它就认为这是一个信息完整的工程,在导入的过程中就不需要再创建工程——选这选那的,因为.project工程文件中已包含了这一些列的信息,所以只有在代码库中不存在.project工程文件时才可选择)”;第二种是“做为工作空间中的项目检出”,这一选项不管代码库中是否有.project文件都是可以选择的,如果代码库中没有.project文件时,选择此种方式,会创建一个简单的工程,那不是Java工程,或其他代码工程,这种工程无不进行相应手工设置是不能进行相应开发的,所以在代码库上无.project工程文件导入时,最好选择前一选项,根据新建项目向导来进行相应设置并自动生成.project工程文件。
4、添加文件或目录
如果将文件添加到项目中,它不会自动成为版本控制的一部分 —— 您需要明确将其添加到特定的存储库中。右击新文件,然后选择 Team > Add to Version Control。就是这样!下一次将此项目中的变更提交给存储库时,新文件也会检入。
5、忽略文件
如果项目生成文件,或者包括您不想检入的 Subversion 存储库文件,则可以通知 Subclipse 忽略它们。右击您要在版本控制中排除的文件或目录,然后选择 Team > Add to svn:ignore 即可显示Add to svn:ignore 对话框。
6、排除class文件
不要把class目录上传到服务器上,起初我没有删掉它,更改提交没有问题,但在更新时总是报错:……Working copy not locked; this is probably a bug, please report svn:……,提示就是class目录下的.svn有毛病。原因可能是在Eclipse编译时,将src目录下的svn配置一起编译到了class文件中,并且在编译时先会删除class中的内容,再编译,这就导致了本地配置与配置库上不一致。需要注意的是,请不要将动态生成的目录添加到SVN,否则其他人Check out的之后,再Update容易出错,例如class目录,不需要提交上去
7、svn:need-lock属性
可以用来在文件(例如,对二进制文件非常有用)上强加排斥锁。一个定义了svn:need-lock属性的文件一次只能被一个人修改。当该文件被检出时,它是只读的。如果你想修改该文件,你需要首先使用"Team>Lock"菜单选项。之后,使用"Team> Unlock"释放该文件,或仅提交你的变化,也会释放锁,但别人的文件还是只读的,只有别人在获取了锁之后,再能修改该文件。其实该属性以一种强迫的属形势让用户在修改前一定要选获取锁,再能修改该文件,这样就不需要等到提交时再发现早已被别人锁住了。
8、Tag和Branch
在Subversion中,很容易创建新的tag和branch。你可以使用tag来标识一个特定的版本(使用一种可读的名字,例如"Release 1.0");而一个branch用于新的开发工作而不影响主源码基(称作trunk)。在一个branch上的开发仍会继续进行,直到开发者已经为把变化集成回主trunk作好准备。
在Subversion中,branch和tag都是通过制作给定修订的一个虚拟副本(以另一个名字和/或另一个目录)创建的。在常规情况下,branch存储在branches目录下,tag位于tags目录下,尽管在实践中为了满足你的工程你可以使用自己的任何定制。
从Eclipse中,"Team>Branch/Tag"菜单能够使你创建branch和tag。其中,Browse按钮提供了一种方便的方法来查看有哪些branch和tag存在于仓库中。
当你使用"Team>Switch"创建成功一个新的branch或tag时,你可以非常容易地在branches之间进行切换。无论何时你切换到一个不同的branch(或返回到trunk),Subversion将仅更新文件(它需要保持你的当前工作的副本与目的branch之间的同步)。


二、SVN协同开发中的规范:
1、先更新,再提交
如果别人和自己更改的是同一个文件,那么update时会自动进行合并,但如果修改的是同一行,那么合并时会产生冲突。
更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。
[size=xx-small]2、多提交
每次提交以几小时为单位。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。
3、不要提交不能通过编译的代码
代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。
4、每次提交必须书写明晰的注释
明晰的标注要能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。
5、提交时注意不要提交本地生成的文件
例如eclipse中的.classpath文件,Windows生成的缩略图Thumbs.db,项目编译生成的临时文件.obj, .class等等。如果项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件。提交了这样的文件后,别人在更新后就可能与本地的环境冲突从而影响大家的工作。
6、不要提交自己不明白的代码
代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。
7、慎用锁定功能
在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。

分享到:
评论

相关推荐

    SVN基本使用PPT

    【SVN基本使用详解】 SVN,全称Subversion,是一种版本控制系统,用于管理软件项目的源代码和其他资源。本教程将详细介绍SVN客户端的基本使用,包括常见操作和TortoiseSVN的特色功能。 1. **SVN客户端操作** - *...

    SVN基本使用及如何避免和解决冲突.docx

    SVN 基本使用及如何避免和解决冲突 SVN 是日常工作中最基本的工具,但许多人不知道如何正确使用它,导致了许多不必要的损失和重复劳动。下面将详细介绍 SVN 的基本使用和如何避免和解决冲突。 一、SVN 安装 SVN...

    SVN基本使用

    **SVN基本使用** **一、SVN简介** SVN,全称为Subversion,是一种版本控制系统,用于管理和跟踪文件及目录的变更。它允许开发团队协作编辑和管理项目文件,确保在多人协作环境下代码的一致性和完整性。SVN通过保存...

    SVN 基本使用操作.pdf

    本文档详细描述了SVN的基本使用操作,涵盖了从SVN的初始化、提交、更新,到分支管理等常用操作。 SVN的基本操作主要包含以下几个部分: 1.SVN的导入(Import) 在开始使用SVN进行版本控制之前,首先需要将现有的...

    SVN的使用方法,使用基本流程

    SVN基本使用手册 从安装开始讲解,包括设置访问用户名和口令、svn使用基本流程等

    这里有自己收集整理的关于SVN的东西,1——SVN基本使用手册 2——Subversion 错误信息一览表.3——svn的一些常见问题

    这个压缩包包含了关于SVN的基本使用手册、Subversion错误信息一览表以及一些常见的SVN问题的解答,是学习和解决SVN相关问题的重要资源。 在基本使用手册中,你将学习到如何安装和配置SVN,创建版本库,以及客户端的...

    SVN的基本使用

    SVN 基本使用 SVN(Subversion)是一种集中式代码管理系统,核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,最后解决冲突,提交。所有的版本信息都放在服务器上。如果脱离了...

    svn工具使用说明

    SVN 基本使用 #### 4.1 导入/导出(import/export) - **导入(Import)**:将现有项目一次性添加到资源库,不创建本地工作副本。 - **导出(Export)**:从资源库获取特定版本的文件,但不创建工作副本,通常用于...

    SVN管理员使用指南

    4. **SVN 基本使用** - **导入/导出(import/export)**:Import 用于将现有项目一次性导入 SVN 资源库,而 Export 用于从资源库导出不包含版本信息的文件和目录。 - **初始化检出(checkout)**:Checkout 是从...

    SVN使用说明以及管理流程

    1. **SVN基本使用** - **首次取出(Checkout)**:首次使用SVN时,需从仓库(repos)中取出最新版本,创建本地工作拷贝(WC,Working Copy)。在TortoiseSVN菜单中选择"Checkout",输入仓库地址,选定本地保存位置...

    svn基本操作

    ### SVN基本操作详解 在软件开发领域,版本控制系统扮演着至关重要的角色,它帮助团队管理代码变更、协作和历史记录。Subversion(简称SVN)是其中一款广受欢迎的集中式版本控制系统,提供了丰富的功能来支持团队...

    svn安装配置

    ### 三、SVN基本使用说明 1. **版本控制**: SVN记录每次文件变更,允许回滚到任意历史版本。 2. **分支与合并**: SVN支持创建分支,便于开发新功能或修复错误,完成后通过合并操作将分支内容合并回主分支。 3. **...

    SVN使用指南(含SVN服务器的安装与使用)

    SVN 客户端使用基本流程包括:checkout(检出)、update(更新)、commit(提交)和log(日志)等步骤。在使用 SVN 客户端时,需要先checkout 版本库,然后进行代码修改,最后commit 提交代码。 SVN 使用图标说明 ...

    eclipse中svn插件的使用

    ### Eclipse中SVN插件的使用详解 #### 安装与配置 在Eclipse中集成Subversion(简称SVN)插件,能够极大提升团队协作效率,实现代码版本控制、协同开发等功能。首先,确保Eclipse环境已安装,然后通过Help菜单下的...

    svn使用基础培训

    #### 二、SVN基本概念解析 1. **配置库(Repository)** - **定义**:配置库是SVN的核心,负责存储所有的数据。以文件树的形式组织文件和目录,支持多个客户端同时连接。 - **功能**:记录每一次更改历史,包括...

    SVN使用教程.docx

    SVN 需要一定的学习成本,需要用户了解 SVN 的基本概念和使用方法。 2. 服务器维护 SVN 服务器需要维护和管理,避免服务器宕机或数据丢失。 SVN 是一个功能强大且灵活的版本控制系统,适合多种开发场景,可以帮助...

    linux下svn的使用

    通过以上介绍,我们了解了在 Linux 系统下如何使用 SVN 进行基本的操作。SVN 作为一种强大的版本控制系统,不仅适用于软件开发项目,还可以应用于任何需要版本控制的场景。熟练掌握 SVN 的使用方法,有助于提高团队...

    svn的使用高手

    在实际开发中,掌握SVN的基本操作是至关重要的。例如,`svn co`用于首次获取工作副本,`svn commit -m "commit message"`用于提交更改,`svn update`用于更新工作副本,`svn status`查看文件状态,`svn log`查看历史...

Global site tag (gtag.js) - Google Analytics