有关SVN服务器端环境配置请参考另一篇博客
SVN服务器端环境配置
(1)安装前
① Eclipse→Window→Preferences→Team
② 用户目录下没有Subversion目录
(2)安装过程
① 打开Eclipse应用市场
② 搜索 Subversive
③ 确认安装项目
④ 安装过程
⑤ 确认重启
(1)Get Connector
(2)选择要安装的Connector,然后一直下一步
(3)同意协议,点击Finish
(4)点击Install anyway
(5)确认重启
(1)目的:让本地 EclipseSVN 插件知道 SVN 服务器的位置
(2)操作步骤
① 切换透视图
② 参考吗资源库位置
③ 输入svn服务器的URL地址
④ 效果
(1)Eclipse特定文件
(2)忽略原因
① 在服务器上最终运行工程完全没有关系
② 开发团队中,并不是所有参与开发的成员都使用相同的 IDE,所以代码文 件之外的 IDE 特定文件有可能有区别。如果这些文件也都上传到 SVN 服务 器,那么很可能产生冲突。不同 IDE 之间可以基于 Maven 的标准目录结 构识别工程。
(3)配置全局范围忽略文件
① 配置文件位置
~\AppData\Roaming\Subversion\config
例如:
C:\Users\Lenovo\AppData\Roaming\Subversion\config
② 要修改的配置项:把global-ignores的注释打开
注意:如果在Eclipse中操作,target目录会自动忽略,如果使用TortoiseSVN则需要追加target目录设置
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*#.#*.*.swp.DS_Store.settings*/.settings/*.classpath.projecttarget*/target/*
(1)工程→右键→Team→ShareProject
(2)版本控制工具中选择 SVN
(3)选择一个已经存在的资源库位置或新建一个,可以直接点 Finish(工程在 SVN 服务器端的目录名和工程名一致;上传工程目 录的日志使用默认值) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210402105250391.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hjeXhzaA==,size_16,color_FFFFFF,t_70)
(4)确认工程根目录下子目录和文件是否全部上传
(1)在Eclipse中执行Imprort操作
(2)确认资源库位置
(3)找到SVN服务器端工程对应的目录
(4)选择检出方式
(5)点击Finish
(6)转换工程类型
基本操作都可以在资源→右键→Team→相关菜单项中找到
(1) 冲突文件→右键→Team→EditConflicts
(2)比对冲突的内容,并修改为自己满意的内容,关闭界面
(3)标记为已合并
冲突文件→右键→Team→Markasmerged
(4)提交
在版本控制过程中,使用多个分支同时推进多个不同功能开发
不使用分支开发:人与人之间协作 使用分支开发:小组和小组之间协作
(1)多个功能开发齐头并进同时进行
(2)任何一个分支上功能开发失败,删除即可,不会对其他分支造成影响
(1)trunk:主干
(2)branches:分支
(3)tags:存放项目开发过程中各个里程碑式的代码
(1)资源库位置→右键→New…→Folder
(2) 创建各个具体分支的目录
在具体分支目录右键新建即可
工程→右键→Team→Merge…
说明:如果两个分支各自都有新内容,需要合并两次才能够让他们内容一致
例如:
分支 1:☆☆☆★★★
分支 2:☆☆☆○○○
分支 1→分支 2:
分支 1:☆☆☆★★★
分支 2:☆☆☆○○○★★★
分支 2→分支 1:
分支 1:☆☆☆★★★○○○
分支 2:☆☆☆○○○★★★
(1)配置文件目录:/var/svn/repository/pro_oa/conf
(2)svnserve.conf文件:
12 # anon-access=write 匿名访问
13 auth-access=write 授权访问
20 password-db=passwd 指定设置用户名密码的配置文件
27 authz-db=authz 分配权限的配置文件
(3)passwd文件
[users]
#harry=harryssecret
#sally=sallyssecret
tom=123123
jerry=123123
kate=123123
(4)authz文件
21 [groups]
#用户组=用户,用户....
22 # harry_and_sally=harry,sally
23 # harry_sally_and_joe=harry,sally,&joe
24 kaifa=tom,jerry
30 [/] # 针对版本库根目录进行权限设置
31 @kaifa=rw # @组名 = 权限值
32 kate=r # 用户名 = 权限值
33 *= # 上面已经授权的用户以外其他用户没有任何 权限
(1)Eclipse 中删除曾经登录过的用户名密码的操作方式
到 svnserve.conf 文件中把 anon-access 注释打开设置为 none
8[general] 9###Theseoptionscontrolaccesstotherepositoryforunauthenticated 10###andauthenticatedusers. Validvaluesare"write","read", 11###and"none". Thesamplesettingsbelowarethedefaults.
12anon-access=none
13auth-access=write
(1)作用:Maven 生成工程目录结构过程中需要使用的配置文件
(2)下载地址 :http://repo.maven.apache.org/maven2/archetype-catalog.xml
(3) 复制到 Maven 的本地仓库
Maven 本地仓库根目录\org\apache\maven\archetype\archetype-catalog[版本号目录]
(1)打开资源库浏览器
(2)在 SVN 服务器上创建目录
(3)检出新建的目录
(4)执行Maven命令
mvnarchetype:generate 命令参数含义
mvn archetype:generate -DgroupId=com.atguigu.subversion -DartifactId=rich -DarchetypeArtifactId=maven-archetype-quickstart-DinteractiveMode=false -DarchetypeCatalog=local-X
mvn archetype:generate -DgroupId=com.atguigu.subversion -DartifactId=rich_web -DarchetypeArtifactId=maven-archetype-webapp-DinteractiveMode=false -DarchetypeCatalog=local-X