SVN基础

来源:互联网 发布:单片机汇编语言 编辑:程序博客网 时间:2024/06/05 08:49

  

1.什么是SVN

Svn=版本控制+备份服务器

2.为什么要使svn

      1.SVn最主要的功能之一就是版本控制,它可以帮我们保存我们很多修改之前的版本,我们不能保证我们的每次最新的版本都是最合理的,SVN可以帮助我们找回我们以前的版本,当然我们也可以保存在本地但是这是很消耗硬盘空间的,尤其是当我们的软件很大的时候。

     2.Svn是一个很好的备份工具,随时保存随时备份应该成为我们工作的一个习惯,而SVN在软件开发过程中就提供了这样的一个功能。

      3.SVN可以为我们的团队提供很好的数据同步。软件开发更多的时候是团队开发,当我们需要了解队友的开发进度的时候,SVN就可以帮助我们。

     4. Svn可以帮助我们解决版本冲突。当你和你的队友要修改同一段代码并且你的队友早于你先提交时,就会产生冲突,这时SVN就可以显示出你和队友代码的不同之处。

 

      5.SVN的用户管理

SVN管理系统多级管理员支持:
系统支持三种角色权限:超级管理员、目录级管理员、普通用户。
超级管理员:对所有配置库具有完全权限。
目录管理员:目录管理员可对指定的目录/SVN库进行权限管理。包括:对该目录/库的用户                                                                  进行删除、写权限变更、读权限变更及为子目录设置管理员等。
普通用户:可以查看用户名、查看权限设置、修改自己密码。

SVN管理系统用户自注册功能
           你只需要告诉新员工SVN用户自注册url地址即可,而无须再为每个新员工进行设置用户名、设置初始密码、发邮件通知等一系列麻烦动作。提高效率,减低配置管理员的工作量

3,一些概念的区别

      1. Repository(版本库),存放上传档案的地方

     2. trunk,branches,tags

           Trunk,保存着项目开发最新的文件,           

           Branches,一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本。比如项目已经发布,但是客户又有新的需求,而此时正在开发更高级的版本(这个更高级的版本就在Trunk)中,此时的开发就放在Branches中

           tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档.

 

     3.Checkout (检出)与Exporting(导出)

            执行Checkout后文件还在SVN中,还在SVN控制之下,可以执行更新操作,执行Exporting后文件才会保存到本地,此时脱离了SVN的版本控制.两者都会在本地产生文件

Checkin(检入) 与commint(提交)

 

4.一些使用规范

1 先更新再提交

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

2 多提交

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

4  每次提交必须书写明晰的标注

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

    6 不要提交自己不明白的代码

        7 必须自己提交自己更改的内容

        8提交时,注意一下自己修改了什么

0 0