随着国内IT相关技术及人才的不断发展和进步,越来越多的人加入到我们测试大军,所以行业压力越来越大,竞争也越来越残酷了,传统的手工测试已经不足以应付当前行业需求了,那么如何提高我们竞争力呢,那就是掌握一定的代码技术,提升自动化测试能力,而掌握Git代码管理则是这一切的前提条件之一,前段时间就给公司内测试组小白们培训了Git基础知识及用法,所以这篇文章就分享测试工程师需要掌握的基础Git用法。

   首先我们需要下载Git软件程序并做好相关的配置工作,这部分网上有很多教程不再赘述,检验我们Git是否安装成功,可以在命令行执行git --version,如果执行后返回结果是Git版本号那说明已经成功安装好Git了。

   一般维护一个代码项目通常会使用github类似的项目托管平台,那我们就以GitHub项目为例,当我们配置好Git和GitHub相关内容后,接下来要做的就是通过使用Git拉取我们再GitHub上的项目到本地环境了,这是第一步要做的事,因为GitHub上项目是不支持我们直接在web端直接操作或更新的,所以我们必须把项目拉取到我们本地电脑里进行开发编辑,这就类似于拷贝克隆的操作过程,这部操作用到的Git命令为git clone后面输入的是GitHub提供给我们的克隆地址,命令正常执行后我们就成功把项目克隆到本地环境了。

   然后我们通过简单的cd命令进入到本地项目文件夹,你会发现命令行显示出来当前项目名称和所在分支了➜ scaffolding git:(master) ✗,这就说明我们已经成功完成了开发前的准备工作了,那么接下来我们就可以通过工具或直接编辑本地项目了,常规的开发规则是不予许直接在主分支下开发的,所以要先新建一个本地的开发分支执行命令git branch test001,这个命令是创建一个新分支名字叫‘test001’,然后我们可以使用git branch命令来查看我们本地的全部分支,里面显示我们新建的开发分支。

   切换分支命令git checkout test001(分支名),这样我们切换到我们得本地开发分支上了,这时候我们就可以随意编辑和修改项目下代码内容了。当我们编辑完代码之后,其实只是在本地分支项目上做了更改,因为一个项目一般可能会多位开发人员共同维护的,所以我们本地环境编辑完的部分还需要提交到远程仓库去,也就是同步GitHub上面,接下来就是这部分的Git操作了。

   首先我们编辑完代码后,要把修改的东西提交到暂存区,进行本地暂存操作前我们可以先检查下修改情况用命令git status可以看到我们修改过的文件情况,确认无误后,我们执行命令git add *这个命令意思就是把我们本地修改的内容全部提交到暂存区里,执行后可以再使用git status查看状态,会显示被提交暂存区文件状态信息。

   提到暂存区的操作并不是推到远程仓库,其实就是在本地保存了一下而已,接下来需要提交到工作区,执行git commit -m "提交备注"这样就把暂存区的内容提交到工作区,这一步操作也是必不可少的,在本地生成一个了版本来保证提交内容不会丢失,把这些做完之后接下来操作就是把本地工作区内容提交到远程仓库了。

   因为当前的开发分支是我们在本地环境新建的,所以远程仓库并没有这个分支,所以我们在这种情况下,第一次推送时要明确分支名,告诉远程仓库我们要推送到这个分支,如果远程仓库没有这个分支会新建对应分支,命令是git push -u origin test001,这样我们就把本地开发分支 test001推送到了对应GitHub远程仓库了,注意一点,如果我们要推送的分支在远程已经存在时,那么只需要执行git push命令,不需再次指定分支名了。

   推送完成后我们再次执行git status命令查看状态时,就会提示‘nothing to commit, working tree clean’也就是本地工作区是干净的没有需要提交的内容了,那么以上就是完整的Git操作过程了,从拉取项目,到开发后的提交推送维护过程大致就是这样的,当然还有很多扩展的内容比如分支合并,因为一般我们最后可能需要多人分支合并到一个分支上推送,首先切换分支,我们要往哪个分支合并就切换到哪个分支去还是git checkout 分支名,然后再这个分支下执行命令git merge 分支名注意这个分支名是我们需要合并的那个分支,并不是当前的分支名,这样执行后在另一个分支上修改过的内容就合并到这个本地分支上了,没错内容其实只是到当前分支的工作区里,并没有同步到远程仓库里,所以我们需要在当前分支下再执行git push这样就完成了分支合并的过程。

   以上内容是我给公司测试组大致的培训内容,是比较简单的基础概念和操作过程,因为初次接触git时了解这些内容基本应该够了,当然还有很多扩展知识可能大家就可以随着工作的深入和慢慢了解了,其实命令不是很多,但是这些命令对应的意义还是需要清楚的,我们熟悉了解git后接下来我们就可以写接口自动化测试代码了,后续有机会会分享我正在用的接口自动化框架逻辑和用法。