SVN版本控制学习

1.基本介绍
什么是SVN,能解决什么问题?

一、 代码管理混乱。
二、 解决代码冲突困难。
三、 在代码整合期间引发BUG。
四、 无法对代码的拥有者进行权限控制。
五、 项目不同版本发布困难。
......
管理思想
在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序,建议使用:也可以一个仓库对应一个项目。
由仓库管理员统一管理这些源程序.这样,就好象只有一个人在 修改文件一样.避免了冲突.
每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。
用户做的任何修改首先都是在本地进行,然后用 SVN 命令进行提交,
这样就可以做到跟踪文件变化,冲突控制等等。 

2.服务端
****svn的服务器端环境安装:
a.subversion+apache
b.visualsvn-server
安装到那个目录:D:\SVN\VisualSVN Server\
仓库的存放位置:D:\SVN\VisualSVN Server\Repositories\
服务器端口:81


创建组,用户,配置组使用仓库的权限
创建仓库:http://192.168.1.168:81/svn/bbs
trunk:主干,是日常开发进行的地方,是不稳定的代码。
branches:分页控件,上传组件:分支,一些阶段性的release版本,这些版本是可以继续进行开发和维护的.
tags:项目版本,目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。

3.客户端基本操作
SVN客户端安装和汉化
1.添加文件:added
 a.选中文件,或者文件夹,点击添加按钮,蓝色+号
 b.回到添加文件夹的父级目录,直接点击提交

2.提交:commit
提交之前:必须先update

3.检出:checkout。
检出:http://192.168.1.168:81/svn/bbs
第一次与服务器建立联系

4.更新:update

5.导入:import
a.先从http://192.168.1.168:81/svn/bbs/trunk检出由svn工程,在拷贝项目文件,提交
****b.选中要导入的项目文件夹,右键导入http://192.168.1.168:81/svn/bbs/trunk,
删除原项目文件,使用eclipse导入包含svn信息的项目工程

4.其他操作

*****1.解决冲突
两个人同时修改一个文件同一行(不是同一行合并),
如果第一个人提交后,第二个人是不能直接提交该文件的。主要原因是为了防止第二个把第一个人的劳动成果干掉。
当文件产生冲突的时候,SVN是无法自动帮你解决冲突,
你必须自己去判断该如何解决这样的冲突。
解决冲突的过程:
先提交发现有冲突->
用更新的方式得到解决冲突的参考文件-->
根据参考文件解决冲突-->
告诉SVN冲突已经被解决(选中文件夹,点击已解决:删除冲突的参考文件)->
提交文件。

2.锁文件:一般不建议锁的,公共的dao,service不能让其他修改
只要是锁的文件的人没有解锁,别人就不能修改此文件
那个用户锁的文件,就只有自己才能解锁

3.忽略文件,不被SVN管理
****a.选中文件夹,通过右键菜单(增加一个忽略列表)来忽略某个文件或文件夹(此文件夹是包含svn信息)
b.通过设置,用通配符来忽略一批文件*.class。

***4.设置必须填写提交的日志信息
在svn工程里面,点击属性,新建一个属性tsvn:logminsize

5.查看日志和获取以前版本

6.去除.svn的配置信息
a.使用window的搜索.svn,在删除
*****b.导出:选中svn文件夹,右键导出,选择没有版本的文件内容

***7.重新定位
   原来svn的服务器地址http://localhost:81/svn/ssh
现在svn的服务器地址做了修改:http://192.168.1.250:81/svn/ssh

        8.分支:备份里程碑版本
          把trank开发版本作为一个正式版 tags目录1.0
          先选中trank目录,右键点击分支,修改http://localhost:81/svn/bbs/tags/1.0  
  
*****5.SVN的Eclipse插件
svn eclipse插件安装
1.help-inserl...
2.eclipse\dropins\site-1.6.17
3.eclipse\dropins\svn.link


-------------------------------------------
上班第一件事情:从服务器把最新的代码更新update到自己机器
下班最后一件事情:做完一个功能就提交代码到svn,
提前20-30分钟把自己机器代码提交commit到svn服务器,解决文件冲突的问题
不要一天的代码写完之后,在下班的时候才提交,按照功能提交代码,并且写好注释.




5.SVN图标的意义。
  蓝色问号:询问是否要纳入SVN做管理。
  蓝色加号:该文件和SVN上的文件不一致,需要你提交该文件到SVN上去。(代表是新建的文件)
  绿色的勾:该文件和SVN上得文件一致
  红色的感叹号:该文件和SVN上得文件内容不一致。(代表是文件受到更改)
  黄色感叹号:代表文件有冲突。
  灰色的减号:该文件或文件夹被SVN忽略掉,SVN不会对它进行任何管理。
  红色的叉:该文件在SVN上最新版中不存在了。我们需要UPDATE才能把本地的文件删除掉。
  黄色的锁:表示当前文件被锁了,别人就不能修改了。




struts2 svn地址
http://svn.apache.org/repos/asf/struts/struts2/trunk
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值