• 0
  • 0
分享
  • 初识分布式版本控制系统Git——软件测试圈
  • 曼倩诙谐 2022-11-30 13:32:33 字数 2728 阅读 2118 收藏 0

  2022软件测试行业前景如何?结果你来预测。链接:http://vote.51testing.com/  (笔给你,你来填~)


  初识Git版本控制

  自动化测试代码反复执行,如果借用持续集成工具会提高测试效率,那么需要我们把自动化测试代码发布到正式环境中,这时候用Git版本控制工具高效、稳定、便捷。

  分布式版本控制

  Git可以把代码仓库完整地镜像下来,有完整的历史记录,它可以与远端代码库进行交互。

  简史

  Git诞生于2005年,速度快,极适合管理大项目。

  Git是什么

  其他版本控制系统如SVN,是随时间变化的差异性文件比较,在某时间段某些文件进行更新。

  Git是快照流,存储项目随时间改变的快照,几乎大部分操作都只需要访问本地文件和资源。保证完整性,用哈希Hash,一般只添加数据,不删除。

  Git三种状态:

  已修改:在工作区修改文件,但没保存到数据库

  已暂存: 在暂存区对已修改的文件做标记,使其包含在下次提交的快照中

  已提交:在Git目录安全地保存数据到本地数据库

  基本Git工作流程:

  ①工作区修改文件;

  ②暂存区将下次提交的更改选择性暂存,修改部分添加到暂存区;

  ③提交更新,找到暂存区的文件,将快照永久保存在Git目录。

  命令行

  所有人都有命令行工具,会命令行则应该会GUI。

  安装Git

  本次实践安装的最新版2.36.0,官网下载windows版本https://git-scm.com/download/win。

  初次运行Git前的配置

  1)设置用户信息,以下命令:

git config --global user.name “”
git config --global user.email “”

  如果想给特定项目设置用户信息,则在该项目目录下运行无--global的命令。

  2)设置文本编辑器,如未配置,Git会使用操作系统自带的编辑器。

  设置notepad++为文本编辑器:

git config --global core.editor “’d:\dev\notepad++\notepad++.exe” -multiInst -notabbar -nosession -noPlugin”

  3)检查配置信息:

git config --list

图片 1.png

  可逐项检查,如:

git config username


图片 2.png

  获得帮助

  git help +Verb,例如git help config。如果不用全面只需快速参考,使用命令git +Verb -h,例如git add -h。

  Git基础

  获取Git仓库

  两种获得Git项目仓库的方式:

  ① 对尚未进行版本控制的本地目录转换为Git仓库;

  ② 从其他服务器克隆一个已存在的Git仓库。

  (1)对已存在目录中初始化仓库

  如果有一个尚未进行版本控制的项目目录,想要用Git控制它,那么需要进入该项目目录中。

  在Windows上:

cd c/user/my_project

  之后执行:

git init

  该命令将创建名为.git的子目录,这个子目录含有你做初始化的Git仓库中所有的必须文件,这些文件是Git仓库的骨干。这时,我们仅仅是做了一个初始化的操作,你的项目里的文件还没有被跟踪。

  如图所示:


图片 3.png

图片 4.png

图片 5.png

  如果在一个已存在文件的文件夹(非空文件夹)中进行版本控制,应该开始追踪这些文件并进行初始提交。

  可以通过git add命令指定所需的文件进行追踪,然后执行git commit:

git add *.c
git add LICENSE
git commit -m ‘initial project version’

  如图所示:

图片 6.png

  这样已经得到了一个存在被追踪文件与初始提交的Git仓库。

  (2)克隆现有的仓库

  如果想获得一份已经存在了的Git仓库的拷贝,比如说,想为某个开源项目贡献自己的一份力,这时就要用到git clone命令。

  如果对其他VCS系统(比如Subversion)很熟悉,请留心以下所使用的命令是“clone”而不是“checkout”。这是Git区别于其他版本控制系统的一个重要特性,Git克隆的是该Git仓库服务器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件。

  当你执行git clone命令的时候,默认配置下远程Git仓库中的每一个文件的每个版本都将被拉取下来。实际上,如果服务器磁盘坏掉了,通常可以使用任何一个克隆下来的用户端来重建服务器上的仓库(虽然可能会丢失某些服务器端的hook设置,但是所有版本的数据仍在)。

  克隆仓库的命令是git clone。比如,要克隆Git的自建项目HTMLTestRunner,可以用下面的命令:

git clone https://github.com/mingming1205/HTMLTestRunner

  这会在当前目录下创建一个名为“HTMLTestRunner”的目录,并在这个目录下初始化一个.git文件夹,从远程仓库拉取下所有数据放入.git文件夹,然后从中读取最新版本的文件的拷贝。

  如果打开这个新建的HTMLTestRunner文件夹,会发现所有项目文件已经在里面了,准备就绪等待后续的开发和使用。

  如下图:

图片 7.png

图片 8.png

  如果想在克隆远程仓库的时候,自定义本地仓库的名字,可以通过额外的参数指定新的目录名:

git clone https://github.com/mingming1205/HTMLTestRunner myhtmltestrunner

  这会执行与上一条命令相同的操作,但是目标目录名变成了myhtmltestrunner。

  如下图:

图片 9.png

图片 10.png

  Git支持多种数据传输协议。以上的例子使用的是https://协议,不过也可以使用git://协议或者使用 SSH 传输协议,例如user@server:path/to/repo.git。

  至于所有这些协议在服务器端是如何配置使用,以及各种方式之间的利弊请查看“在服务器上搭建 Git”的介绍。

  记录每次更新到仓库

  执行命令:

git commit -m  “描述”

图片 11.png

  查看提交历史

  执行命令:

git log

图片 12.png

  如果附带一系列总结的文字,执行命令:

git log --stat

图片 13.png

  如果限制日志查看数量,执行命令git log -p -2,当退出log时,在冒号“:”后面敲q即可。

图片 14.png

  以下表格引自官网:

图片 15.png

  感谢大家的阅读,希望你们能从中有所收获!



作者:枫叶    

来源:http://www.51testing.com/html/44/n-7793944.html


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   关键要点  ·由于软件开发过程具有复杂性,所以它很难被理解。  ·正是这种复杂性,导致了许多来源不明的信条和直觉。  ·最近一项对软件开发过程的研究结果挑战了许多普遍持有的观点。  ·一些不太容易理解的研究结果揭示了开发过程中意想不到的力量。  ·在软件开发中,非技术因素对整个项目的影响往往胜过技术因素。  最近,我看到了一项关于项目中所使用的编程语言和代码质量相关性方面的研究。?我非常感兴趣,因为研究结果和我预想的截然相反。一方面,这项研究可能有缺陷,另一方面,许多在软件开发中已确立的实践和信念来源不明。我们遵守这些实践和信念是因为“每个人”都在这样做,或者它们被认为是最佳实践,或者它们...
            11 11 1710
            分享
          • 4. 不符合项问题如何解决首先将不符合项内容记录到《不符合项记录表》中,反馈给项目经理,限期解决,及时跟踪不符合项内容,直到问题得到解决。5. 不符合项问题单包括哪些内容序号、问题、记录日期、优先级、严重程度、责任人、备注等6. 目前组织级的不符合项内容有哪些?结合组织级的角色工作内容,如培训前未对培训需求进行调查、过程改进小组过程改进未按照过程改进计划执行,配置文档准备不全等7. 项目级的不符合项内容有哪些?结合项目级角色内容,如开发人员代码注释不简单、测试人员未进行边界值用例编写、设计人员数据库空间设计过小、项目经理度量数据不及时等。8. 如何报告分析结果:按照计划编写质量保证报告,按照图...
            0 0 2727
            分享
          •   网关是指内部服务和第三方外部服务交互的接口,常见的网关有通过渠道引入外部用户的通用网关、和支付商户对接的支付网关、获取第三方数据的数据网关等(一种是我们提供给第三方调用,一种是去调用第三方,这里重点讨论第二种)。  因为网关接口需要依赖第三方响应的结果,而不管我们请求参数如何,第三方测试环境响应结果基本固定,不一定会出现我们想要的情况。  还有一种情况是测试账号的原因,比如缺少有效的信用卡号、有流水记录的淘宝卖家账号等,导致我们使用的测试账号只能覆盖单一的情况。  虽然对网关来说大部分时候只要能和第三方调通就可以,但是线上情况不可控,只验证正常情况当然不够严谨,需要确保各种可能出现的异常情...
            0 0 963
            分享
          •   像APP、WEB这种测试工程师入门级测试技能,对大家来说经常是点点点,但是现在业内大多岗位都是服务端测试,从前端页面发起的测试很容易被替代。  面试一般会重点考察服务端的测试,说到服务端的话当然离不开接口测试,互联网测试从业者的要求越来越高,不仅仅局限于术,更要在道上有所造诣,在面试过程中的考察点一般会涉及以下几点:  1、软实力考察  面试官会给到候选人一个比较有挑战性的任务,考察其面对问题的态度、分析问题的思路;如果给一个需求如何保证质量,考察责任心;沟通过程是否主动,因为测试工程师对沟通的要求相对来说是比较高的;测试的过程描述是否详细,认证细致也是测试工程师及其优秀的一种品质。  2...
            0 0 160
            分享
          • 功能测试框架可以包括:界面友好性测试、功能测试、链接测试、容错测试、稳定性测试、常规性能测试、配置测试、算法测试等等。一、界面友好性测试风格、样式、颜色是否协调;界面布局是否整齐、协调(保证全部显示出来的,尽量不要使用滚动条;界面操作、标题描述是否恰当(描述有歧义、注意是否有错别字);操作是否符合人们的常规习惯(有没有把相似的功能的控件放在一起,方便操作);提示界面是否符合规范(不应该显示英文的cancel、ok,应该显示中文的确定等);界面中各个控件是否对齐;日期控件是否可编辑;日期控件的长度是否合理,以修改时可以把时间全部显示出来为准;查询结果列表列宽是否合理、标签描述是否合理;查询结果列...
            0 0 882
            分享
      • 51testing软件测试圈微信