SVN
- SVN是开放源代码的版本控制系统
- 集中式的含义是指:所有的文件都在仓库中,而他的仓库是在服务器上的,一旦服务器出现问题,就无法更新或者获取S VN中的信息,集中式的版本管理工具在本地备份的只是数据,没有层级结构。SVN就是集中式的工具
- 分布式的含义是指:并不是所有的文件都在服务器中,例如git就是分布式的版本管理工具;分布式服务器会在每个客户端都有详细的,完整的备份(备份不仅仅是文件或代码,还有结构)
SVN的安装和介绍
- SVN是一款集中式的项目版本管理工具
- 备注:集中式是和分布式相对应的,
- 它主要用来管理代码,其他内容也可以进行管理,例如测试用例
- 工作流程:
SVN的安装
- SVN的安装分为SVN服务器和SVN客户端的安装
- SVN服务器一般由测试经理搭建并进行维护;测试人员一般安装的都是SVN客户端
- linux安装:命令
yum install subversion
- windows安装:去SVN官网下载SVN,双击运行安装
- SVN安装好后,右击鼠标,出现如下图框选的标签就表示安装完成
- 首次下载SVN服务器中的谁,我们先用checkout
- 如果已经checkout了,那么我们就要使用update来下载服务器中的数据
- 如果想提交信息到服务器,使用commit来进行提交
操作
- checkout时,在目标文件中,右击鼠标,选择“SVN Checckout”即可,选择之后会出现以下弹框
- 上图中的“URL of reposstory”指的是:SVN的url,语法是以SVN开头,代表SVN协议,
://
表示分割符,后面跟ip地址和端口号,在跟仓库的路径信息(如果有的话) - “Checkout directory”指的是:仓库中文件要在本地放置的路径
- checkout之后,目标文件中会多出一个
.svn
的文件,这个文件的出现,就代表着目标文件夹已经变成了一个本地SVN放置文件的客户端,可以使用SVN相关的功能了 - 后续再去仓库中更新文件,直接右击鼠标,然后选择“SVN update”即可
- 往SVN中传输文件的时候,要右击鼠标,选择“SVN commit”,会出现以下的弹框,需要在Message中输入提交信息,说明提交的文件是什么;然后勾选提交文件,点击ok即可
- 提交成功之后,目标文件中被怒提交程序的左下角会多一个绿色的对号
冲突
- 一般情况下,先update,再commit,会避免冲突的产生
- 冲突产生的原因:A,B为SVN的两个客户端;A客户修改了SVN仓库中的file1文件,并不提交成功;B客户是在A提交文件之前update的代码,在A提交之后,修改相同文件中的同行代码提交,这样的操作就会造成冲突
- 解决冲突的方式:直接update之后,目标文件中会产生多个文件,将你的,原仓库的,同事提交的信息全部提供,请找测试经理决定使用哪个文件
- 需要先还原仓库文件,右击鼠标,选择Revert,或者Update to revision进行还原
- 使用Update to revision方式,会出现下图的弹框
- 点击上图中的show log,选择历史版本文件夹即可。但是在冲突没有解决的情况下,这种方式是无法还原成功的
- Revert方式比较容易造成数据的丢失,他是直接还原之前的版本。直接右击鼠标,选择Revert,勾选出现的弹框中,最初版本的文件,点击ok即可,但这种方式会丢失自己修改后的文件
Git
-
git是世界上最先进的分布式版本控制系统
-
git是分布式版本控制系统,与SVN集中式不一样,就算Git的代码仓库服务器崩溃了,也不影响本地开发
-
Git的具体工作流程如下:
-
分布式:服务器的数据分布到各个客户端,Git分布署:GitHub代码仓库不仅仅本地有,还分布到Git的各个客户端中
-
使用Git的核心步骤文章来源:https://www.toymoban.com/news/detail-467530.html
-
- 1.先add代码到Git缓存
-
- 2.然后commit到Git的本地仓库
-
- 3.最后Push到远程GitHub代码仓库
-
git简单的工作原理如下:
文章来源地址https://www.toymoban.com/news/detail-467530.html
Git的安装和配置
- windows系统,直接到官网下载git,双击进行安装
- 网址:https://git-scm.com/downloads
- 打开后如图,选择版本,跳转页面之后,下载双击根据安装向导安装即可
- linux系统,yum -y install git
- 检验git的安装 打开cmd窗口,输入
git --version
,查看git的版本号 - 也可以右击鼠标,桌面会出现
git GUI here
和Git Bash Here
的标识 - git配置的签名:每次使用git的时候,表明时谁修改的git的名称或者邮箱,让系统/同事可以识别是谁修改的代码或者文件
-
- 配置邮箱:git config --global user.email XXX@163.com
-
- 配置用户名:git config --global user.name yiyi (自定义设置名字)
git的命令行用法
- git命令可以通过pycharm使用,也可以通过命令行使用
-1) 使用git初始化本地仓库: -
- 打开git的命令行窗口,方式为右击鼠标,选择
Git Bash Here
即可
- 打开git的命令行窗口,方式为右击鼠标,选择
-
- 新建一个文件夹,然后在文件夹所在的目录中输入git命令,初始化本地仓库,命令为
git init
- 新建一个文件夹,然后在文件夹所在的目录中输入git命令,初始化本地仓库,命令为
-
- 将本地仓库初始化之后,会出现一个
.git
的本地文件,这个文件是git的本地文件,不可删除
- 将本地仓库初始化之后,会出现一个
- 2)Add将文件的索引,添加到缓存区域
-
- 命令:
git add 文件名
- 命令:
-
- 操作步骤:
-
-
- 在本地git仓库(即初始化之后的文件夹)中新建一个py文件;
-
-
-
- 在当前目录中打开cmd,输入
git add 文件名
- 在当前目录中打开cmd,输入
-
-
-
- 查看有没有将add的文件添加至缓存区,使用的命令为:
git status
,如果出现new file 文件名
的标志,说明文件已经添加到缓存中
- 查看有没有将add的文件添加至缓存区,使用的命令为:
-
- 3)commit提交代码到本地仓库
-
- 命令:
git commit -m 提交文件的注释信息
- 命令:
-
- 如果提交成功,会返回
XX file change
的提示信息
- 如果提交成功,会返回
-
- 使用
git status
查看时,没有任何文件显示
- 使用
-
git add
和git commit
都是本地操作,没有提交到远程仓库中 - 4)pull和push代码
-
- pull 拉取远程仓库的代码到本地
-
- push 推送本地的代码到远程仓库
-
- git和远程仓库进行交互时,需要先关联仓库到远程仓库,因为git内部有远程仓库的配置文件,因此我们只需要根据git的远程仓库的配置,配置远程仓库的URL后,就可以完成关联
-
- 关联仓库的命令:
git remote add origin 仓库的链接地址
- 关联仓库的命令:
-
-
- 解析:git 使用的工具;remote:与远程仓库建立连接的配置;add:添加远程仓库;origin:远程仓库的别名
-
-
- 查看仓库是否关联:git remote,如果
-
- 由于远程仓库新增了readme文件,这些本地没有,所以先使用pull
-
- 命令为:
git pull origin master --allow- unrelated- histories
,执行之后会存在下载进度条
- 命令为:
-
- 这个时候就可以push到远程仓库了,命令:
git push -u origin master
,执行之后也会出现上传进度条
- 这个时候就可以push到远程仓库了,命令:
-
- 首次提交会弹出输入git账号和密码的弹框,按照要求输入账号和密码即可
git 代码冲突
- 代码冲突的原因时不同版本的操作,修改了同一个文件夹
- 如果出现了无法由程序调和的冲突,一般都是先人工解决
- 平常都是先pull,再push,来避免冲突
- 1)产生冲突到解决冲突的过程:
-
- 第一步:在远程中修改文件
-
- 第二部:在本地仓库修改远程仓库中同样的文件
-
- 第三部:提交本地仓库的文件到远程仓库,产生冲突
-
- 第四部:合并代码,解决冲突
- 2)解决冲突的方式:
-
- 命令:
git pull origin
,执行之后出现下载进度条
- 命令:
-
- 打开目标git仓库,仓库中冲突的文件会发生变更,会将远程仓库中冲突的代码追加到修改的文件中
-
- 将修改文件中的代码修改后,重新执行add,commit和push的命令
持续集成和持续交付
定义
- 持续集成:指把团队的成果周期性的集成到一起
- 持续交付:指通过自动化技术,自动对提交的产品进行测试和发布的过程
目的
- 持续集成
-
- 每天集成代码到平台
-
- 自动化运行单元测试,检查到吗质量
-
- 打包,并反馈结果
- 持续集成可以让开发更快速打包部署检查自己的代码质量
- 持续交付
-
- 自动部署测试环境
-
- 自动执行自动化代码
-
- 自动发布
持续集成和持续交付实施模型分析
- 持续集成
- 持续交付
- 持续交付的目的是为了加速环境的搭建,自动化测试,发布的流程,还用来保证一个稳定的产品版本能够随时发布
到了这里,关于软件测试——版本管理工具:SVN和Git的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!