svn使用

1、什么是SVN
svn全称Subversion,实现多人开发同一个项目时,对源代码进行管理的工具。SVN是代码版本管理软件,管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 许多人会把版本控制系統想像成某种 “时光机器”。

2、为什么使用SVN
① 协作多人开发同一个项目同一个文件,解决代码整合的问题。
② 团队项目,在不使用版本控制器的时候,解决代码改动追责问题。
③解决团队成员所写代码丢失问题

3、SVN的安装
3.1、服务器端安装
SVN服务器端软件下载地址:
①创建文件目录,用于安装svn服务器端:D:\initPath\svn_repository
svn使用
svn使用
svn使用
3.2、在repositories右键创建仓库
3.3、在users上可以创建用户,可以访问对应的仓库
3.4、点击“test”右键,可以查看到仓库地址
3.5、粘贴该地址,在浏览器可访问,配置过的用户才可以访问

2、客户端安装
tortoiseSVN客户端软件下载:
注意:该客户端安装完成后,重启电脑
该软件直接像其他软件一样,直接安装即可,没有注意事项

1、将svn-eclipse的集成插件copy到eclipse的安装目录下的dropins
svn使用
2、重启eclipse

3、测试是否安装好tortoiseSVN插件
打开window下面的Preferences收索svn,如果出现下图的效果就成功了
svn使用

4、Svn的操作命令
4.1导入/检入
指的就是将本地的工程上传到svn服务器中
1、项目邮件->team->share project->svn
svn使用
svn使用
svn使用
当出现svn url “********************”is not properly uri-encoded错误,是因为是在浏览器中粘贴出来的地址到eclipse中,咱们是需要从svn服务器中粘贴
浏览器:https://20171213-144916:8443/!/#test
Svn服务器:https://20171213-144916:8443/svn/test/

svn使用
目前并未将项目代码提交到服务器中,还要将项目导入到svn服务器中。

4.2导出/检出
svn使用
svn使用
svn使用
svn使用
svn使用
svn使用
4.3提交
将代码提交到svn服务器中。右键点击自己所写的文件选择Team选择提交就行了。
svn使用

4.4更新
从svn服务器中将代码更新到eclipse中。右键点击自己所写的文件选择Team选择更新就行了。

5、使用svn服务

  1. 文件颜色标志
    ① 蓝色加号:本地的.svn对该文件有形成管理(远程仓库 还没有该文件记录)
    ② 绿色对号:正常文件,本地文件、.svn管理的版本文件、仓库文件 三者内部内容一致
    ③ 红色叹号:表示 本地文件 与 .svn管理的文件内容不一致(用户自己修改了该文件)
    ④ 黄色叹号:表示该文件正处于冲突状态
    ⑤ 蓝色问号:新建的一个文件,本地.svn 和 远程仓库 对该文件都没有记录

  2. svn的常见操作
    ① checkout: 检出动作,执行同时会把仓库全部文件更新到本地
    ② update: 把仓库最新的程序文件更新到本地
    ③ commit: 把本地文件提交给svn仓库

  3. 目录和文件的提交
    一个新目录创建好了,该目录内部还有新的程序文件 那么,只有该新目录提交完毕了,内部的新程序文件才允许提交
    规律:一个文件只有上级目录已经被commit操作后,该文件本身才可以被commit操作

注意:
?:代表repository没有管理文件夹或者文件
黄色小桶:代表repository管理了文件夹以及文件
*:管理的文件已经有所改变,未与服务器同步

团队开发必须在同一个局域网中。
保证彼此机器之间正常数据交互。
Ipconfig /ping ip

svn使用
192.168.100.4是团队其它成员的机器

svn使用
如果ping不同,关闭电脑防火墙
svn使用
svn使用
6.冲突Conflicted(重点)

  1. 什么是冲突
    冲突(conflicted)
    多人在同一时间对同一个程序文件进行编辑后提交的时候,后提交的文件要覆盖先提交文件的现象称为“冲突”
    tom在9:00对register.php文件进行开发
    10:00对开发好的文件进行提交
    jim在9:20对register.php文件进行开发
    9:40对开发的文件进行提交

    那么,在10:00以后服务器只给体现tom开发的功能,后上传的文件会把先上传的同名文件给覆盖了
    冲突解决方案:

编辑冲突

点击右键->编辑冲突
svn使用
改了之后如下,然后将其关闭

标记解决

svn使用
回到原来的类,右键(标记已解决)
最后,右键->提交