SVN -- subversion
①checkout 拷贝svn资源库的内容
②commit 开发完后,提交
③update 得到其他人开发的资源
访问svn默认端口3690
安装
下载svn服务器软件http://subversion.apache.org/packages.html
安装Win32Svn,配置path环境变量%Subversion%\bin
配置
1、创建SVN资源库
新建文件夹E:\svnrepos
执行命令svnadmin create E:\svnrepos
2、修改SVN配置文件
在conf/svnserver.conf取消注释password-db=passwd
在conf/passwd添加账号
3、启动SVN服务
svnserve -d -r E:\svnrepos
-d设为守护进程,-r设置资源库位置
使用
TortoiseSVN客户端
Eclipse SVN
配置
根据服务端svn版本,下载对应的插件
下载插件subclipse:
http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA
eclipse目录下的dropins内新建.link文件,内容
path=插件目录(用正斜杠/)
配置window -> Preferences -> Team -> Svn
使用
第一次,项目导入svn:
在项目上右键,Team --> Share Project --> svn
以后,svn检出项目:
window -> show view -> svn资源库,右键新建SVN资源库
SVN没有跳出输密码的界面:
没有让你输入密码是因为之前有人已经输入过,并勾选了记住密码的操作。右键点击本地副本,TortoiseSVN -> Settings -> Saved Data,然后点击个个“Clear”按钮,把本地缓存都清除了。再重新checkout应该就好了
项目与svn建立联系:
项目上右键,share project -> svn
修改后,项目右键Team -> 与资源库同步,把变更的内容提交
其他用户把资源同步下来:
方式1:new -> other -> 从svn检出项目
方式2:window -> show view -> svn资源库,右键新建SVN资源库。浏览资源库内容并 右键 -> 检出为
以后,工作时,打开eclipse,先看看有没有更新:
在项目上右键,Team --> Share Project --> svn --> 先看Outgoing然后看Incoming 并update新内容
查看历史记录:
在项目上右键,Team --> 显示资源历史记录 ,双击对应版本查看历史内容
冲突
开发人员A、B同时从SVN资源库中检出文件Test.java,A先对Test.java做了修改并成功提交,B也对Test.java做了修改,B在提交时就会产生冲突。这也就意味着,在提交时,如果本地修改之前的版本与SVN资源库的版本不一致就会产生冲突。
减少冲突:1、分工 2、习惯
解决冲突:
法一:revert -> update -> 修改 ->commit
法二:update -> 修改内容并MarkResolved ->commit
分支\标记
trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。
branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。
tags:表示标签存放的目录。
分支合并:
合并后,查看冲突,并解决。