SVN管理 使用方法

帐号配置:


cat authz 

[groups]

g_admin = admin,admin_rsync

g_库名 = auser,buser,cuser,duser


#库目录权限分配置

[linuxspace:/]

@g_admin = rw

@g_PMC = r

* =

[linuxspace:/01workdir]

@g_admin = rw

@g_PMC = r

auser = rw

*       =

cat passwd 

[users]

admin = pass

admin_rsync = pass

auser = pass




SVN提交工作注意事项

一.提交之前先更新

1.         SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且自己测试之后,谨慎地提交。

2.         如果在修改的期间别人也更改了svn的对应文件,那么commit就可能会失败。如果别人和自 己更改的是同一个文件,那么update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

3.         在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错

二.保持原子性的提交

每次提交的间歇尽可能地短,以几个小时的开发工作为宜。例如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。

三.提交时注意不要提交本地自动生成的文件

一般配置管理员都会将项目中一些自动生成的文件或者与本地配置环境有关的文件屏蔽提交(例如eclipse中的.classpath文件等)。如果项目中没有进行这方面的配置来强行禁止提交这样的文件,请自觉不要提交这样的文件。提交了这样的文件后,别人在更新后就可能与本地的环境冲突从而影响大家的工作。

四.不要提交不能通过编译的代码

代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。

五.不要提交自己不明白的代码

代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。

六.提前协调好项目组成员的工作计划

项目经理应该合理分配工作计划。每个成员在准备开始进行某项功能的修改之前,如果有可能,先跟工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。

七.对提交的信息采用明晰的标注

在一个项目组中使用SVN,如果提交空的标注或者不确切的标注将会让项目组中其他的成员感到很无奈,项目经理无法很清晰的掌握工作进度,无法清晰的把握此次提交的概要信息。在发现错误后也无法准确的定位引起错误的文件。所以,在提交工作时,要填写明晰的标注,能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。

八.慎用锁定功能

在项目中要慎用锁定的功能,在你锁定了一个文件之后别人就无法继续修改提交该文件,虽然可以减少冲突的发生率,但是可能会影响项目组中其他人员的工作。平时只有在编辑那些无法合并的文件(例如图片文件,flash文件等)时,才适当的采用锁定操作。

SVN管理 使用方法

时间: 2024-10-13 07:40:59

SVN管理 使用方法的相关文章

eclipse svn插件安装方法

eclipse svn插件安装方法 使用dropins安装插件 从Eclipse3.5开始,安装目录下就多了一个dropins目录.只要将插件解压后拖到该目录即可安装插件.比如安装svn插件subclipse-1.10.2.zip,只需要如下的三步即可:1.使用winrar等压缩软件将压缩包解压至某一文件夹,比如subclipse-1.10.22.将此目录移动/复制至Eclipse安装目录下的dropins目录,如下图: 3.重启Eclipse.由于此种安装方式可以将不同的插件安装在不同的目录里

CentOS 6.5系统上安装SVN服务器端的方法及目录访问权限配置(转总结)

SVN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服务器端的方法及步骤. 系统环境说明如下: 操作系统:        Centos6.5 x86-64 SVN:             subversion-1.8.11 1.检查是否安装了低版本的SVN rpm -qa | grep subversion 如果已安装SVN,则会返回版本信息,如:s

SVN管理工具Cornerstone之:创建分支、提交合并

创建工程的分支: 步骤: 1.选择左下角仓库repositories中的工程名->选择trunk->点击Branch->在提示框里填写分支名称create, 2.在做上角working copies中选择对应的工程名,点击update进行更新下载 3.以上步骤就完成了分支的创建 分支的提交 1.分支完成后,可以选择提交整个分支,也可以选择提交分支中changes的文件 2.选则完成后,点击工具栏中的commit,填写更改的log 分支的合并 3.选择trunk,点击工具栏中的Merge

我们小组项目需求变更管理的方法。。

在每个项目中,客户会在原来的需求基础上进行需求改变或者增加需求内容,所以,一个需求变更管理方法在设计项目中有着十分重要的作用,用户可能在初期阶段对自己的 需求不是清楚,只能根据客户在深入的了解后才知道自己还有哪些需求是需要的.在我们的项目中选择了一个分级需求管理模式,那就是将需求进行分级: 一级需求:是客户提出的需求中最为重要,最需要先实现的需求,在本项目中,我们的客户需要一个简易的通讯软件,所以最重要.最为基本的是实现双方的信息传递和信息输出. 二级需求:它不会影响一级需求的实现,但是没有实现

OC7_复合类内存管理(setter方法)

// // Person.h // OC7_复合类内存管理(setter方法) // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangxueming. All rights reserved. // #import <Foundation/Foundation.h> #import "Dog.h" @interface Person : NSObject { Dog *_dog; } -

SVN管理系统安装及其操作

SVN管理系统安装及操作 防伪码:学习永远不晚! 前言: SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion.说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的. 理论: SVN运行方式: svn服务器有2种运行方式: 独立服务器和借助 apache运行.两种方式各有利弊,用户可以自行选择. SVN存储版本数据有两种: svn存储版

SVN冲突解决方法

SVN冲突解决方法     遇到种情况,首先,你要冷静 我们来分析一下产生冲突额原因!(模拟一下) 我们将一个名为CODE.txt的文件上传到svn服务中,内容如下: 然后你的小伙伴check out下来改成了: “hello world! 今天是21号” 接着就commit(svn上的最新版本就是这个了) 接着,你又check out下来改成了: “hello world! 今天是22号” 当你commit的时候,就---------- 冷静 你打开原来的原文件夹会发现

windows下git简单使用及分支管理使用方法

 Windows上git的简单使用 git客户端安装(略) 1)生成ssh密钥: $ ssh-keygen -t rsa -C "[email protected]"  Generating public/private rsa key pair.  Enter file in which to save the key (/c/Users/bunny/.ssh/id_rsa):  Created directory '/c/Users/bunny/.ssh'.  Enter pass

obj-c9[[NSDate,{Category分类,Extension,管理&#39;私有”方法,Protocol (协议)}]

#import <Foundation/Foundation.h>//#import "Person.h"#import "NSString+SayHiMessage.h"#import "NSMutableArray+ChangeArray.h" #import "NSString+ExchangeChineseToEnglish.h" #import "NSString+EmailValidation