GIT在测试过程中的基本使用

1.基本了解

1.1版本控制概念

Git 命令是部分命令行工具的集合,它可以用来跟踪,记录文件的变动。比如你可以进行保存、比对、分析,合并等。这个过程被称之为版本控制
常见:比如 SVN, Mercurial, Perforce, CVS, Bitkeepe 等。

1.2本地仓库及创建

Git是分布式的,这意味着它并不依赖于中心服务器,任何一台机器都可以有一个本地版本的控制系统,我们称之为仓库

创建一个新仓库

创建一个新的仓库,首先要去到项目路径,执行 git init。然后git会创建一个隐藏的文件夹.git,所有的信息都储存在其中。

(1)执行git init

git init:

mygit git:(master) git init Reinitialized existing Git repository in /Users/zhangmeiyuan/git/mygit/.git/

(2)新建一个:hello.txt

 touch hello.txt

(3)编辑文件内容:vi hello.txt
(4)检查状态:git status

git status 是另一个非常重要的命令,它会告诉我们创库的当前状态:是否为最新代码,有什么更新

        git status On branch master Untracked files: (use "git add <file>..." to include in what will be committed) hello.txt nothing added to commit but untracked files present (use "git add" to track)

git 告诉我们,hello.txt尚未跟踪,这是因为这个文件是新的,git不知道是应该跟踪它的变动呢,还是直接忽略不管呢。为了跟踪我们的新文件,我们需要暂存它

(5)暂存:git add

git 有个概念叫 暂存区,你可以把它看成一块空白帆布,包裹着所有你可能会提交的变动。它一开始为空,你可以通过 git add 命令添加内容,并使用 git commit 提交

        mygit git:(master)  git add hello.txt

(6)提交-git commit
一次提交代表着我们的仓库到了一个交付状态,通常是完成了某一块小功能

        mygit git:(master)  git commit hello.txt [master 9cb3dba] first commit by zhangmeiyuan first ----------------- 1 file changed, 20 insertions(+) create mode 100644 hello.txt

1.3 远端仓库

为了能够协同开发,我们需要把代码发布到远端仓库上。
1、链接远端仓库 – git remote add

git remote add origin https://github.com/tutorialzine/awesome-project.git

2、上传到服务器 – git push
每次我们要提交代码到服务器上时,都会使用到git push。
git push命令会有两个参数,远端仓库的名字,以及分支的名字

git push origin master Counting objects: 3, done. Writing objects: 100% (3/3), 212 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/tutorialzine/awesome-project.git * [new branch] master -> master

3、克隆仓库 – git clone
本地也会创建一个新的仓库,并自动将github上的分支设为远端分支。
4、从服务器上拉取代码 – git pull
如果你更新了代码到仓库上,其他人可以通过git pull命令拉取你的变动

1.3分支

当你在做一个新功能的时候,最好是在一个独立的区域上开发,通常称之为分支。分支之间相互独立,并且拥有自己的历史记录。这样做的原因是:

稳定版本的代码不会被破坏
不同的功能可以由不同开发者同时开发。
开发者可以专注于自己的分支,不用担心被其他人破坏了环境
在不确定之前,同一个特性可以拥有几个版本,便于比较

1、创建新分支 – git branch
每一个仓库的默认分支都叫master, 创建新分支可以这样

git branch amazing_new_feature

2、切换分支 – git checkout
单独使用git branch,可以查看分支状态

git checkout amazing_new_feature

3、合并分支 – git merge
amazing_new_feature 分支的任务是增加一个featuer.txt。我们来创建,添加到暂存区,提交。

        $ git add feature.txt
        $ git commit -m "New feature complete."
        git checkout master

会发现,之前创建的feature.txt文件不见了,因为master分支上并没有feature.txt。使用git merge 把 amazing_new_feature 分支合并到master上。

        git merge amazing_new_feature
        git branch -d amazing_new_feature
        删除amazing_new_feature 分支

1.4 协同工作

多人协作的话,你还需要一个线上仓库,用来同步信息
比如:GitHub

2. 如何拉取代码

2.1 安装
Mac 自带git,免安装
2.2 配置
注册项目git站(http://10.20.11.218/),并申请权限
Git最简单配置,username和mail

配置用户名:git config --global user.name = "xxxxxx"
配置邮件:git config --global user.mail= "xxxxxx@pingan.com.cn
配置默认编辑器:git config --global core.editor emacs
查看某项配置:git config user.name
查看所有配置:git config --list
获得config命令的帮助:git help config
记住密码:git config --global credential.helper store

2.3 初始化工程ffinit
(1)拉取ffinit工具

 git clone http://10.20.11.218/FFProject/ffinit.git [拉取下来文件名]

(2)进入ffinit目录

 python ffinit.py -p <平台,ios/android> -t <目标文件夹> [-b <拉取分支,多个用逗号分隔>] eg:python ffinit.py –p android –t . (拉取android主工程master分支)

(3)项目管理自带工具fmanager
Android和ios自带项目管理工程fmanager,具备分支切换,更新代码功能

    1、ios&android主工程目录自带工具
    2、切换分支
        ./fmanager checkout <分支名>
    3、更新代码
        ./fmanager update/pull 效果一样

3.常用GIT命令

掌握常用的git命令,可以在项目测试过程中,将项目代码拉取到本地进行代码review,也可以通过git相关命令查看提测代码的改动点,bug修复引起的关联模块的改动点有哪些,进行测试分析,从而进行更精准以及更全覆盖率的回归测试。

查看提交日志:git log

    git log -[数字,代表看最近几个提交log] 黄色部分是commit id,只记住前8位就可以区分提交

查看项目当前分支:git branch

分支概念
分支概念:Git最强大的功能,多分支开发&迅速创建、切换分支
跟svn的分支概念类似,不过创建切换都更方便,可以理解成两个平行宇宙,互相独立,同一个仓库
开发后续都在xxx_dev上开发,并开发完成后merge到xxx分支上, 构建站打xxx分支上的包 (构建站原理)

 命令使用
git branch ——查看当前分支
git branch -l ——查看当前项目本地已有分支列表
git branch -a ——查看本地已有分支 & 红色字表示远程仓库分支列表

查看提交变化内容:git show(可以显示标签信息和对应提交的信息)

 git show <commit id>(8位或者全部)——查看该commit id变化内容

对比两次commit的差异:git diff

git diff <commit id><commit id> 对比两次commit的差异

查看当前所对应的远程仓库:git remote

git remote -v:显示远程仓库简写与其对应的 URL
git remote add test https:/remote_store/test:添加一个远程仓库,仓库名为test
git remote show origin:查看远程仓库origin更详细信息

同步当前远程分支到本地:git pull
推送当前分支已提交的代码到远程:git push

git push origin new_branch:推送当前分支test代码到远程origin仓库中,配合新建本地分支(git branch new_branch)使用
git push origin v1.2:默认本地新建标签不会同步到远程,需要用本条命令将特定标签推送至远程服务器
git push origin --tags:将本地所有的标签推送至远程服务器
git branch -r -d origin/del_branch git push origin :del_branch 删除远程分支del_branch,本地不会被删除

4.学习资源

廖雪峰的Git教程:http://www.liaoxuefeng.com
Git子模块使用简介,在F项目中运用的很多的submodule:http://www.tuicool.com/articles/fqUzIfa

九月 01, 2017. Created by XMind

时间: 2024-09-16 15:59:34

GIT在测试过程中的基本使用的相关文章

iOS开发那些事-Git在Xcode中的配置与使用常见问题总结

书接上回提出的Git在Xcode中的配置与使用常见问题4个问题 问题1,如何在Xcode中创建代码库,并添加和提交代码到代码库? 问题2,如何在Xcode中提交推送给远程服务器代码库? 问题3,如何在Xcode中克隆远程服务器代码库到本地? 问题4,如何使用Xcode获取远程代码库数据,并解决冲突问题?   1.问题1 创建代码库有两种方式,一种是新建工程时候创建,另一种是把现有的工程拷贝到代码库下,再初始化代码库. 如果是新建工程时候创建,在保存文件时候可以选择是否创建,如果勾选"Create

软件测试过程中对bug的处理流程

又属于一篇普及文,希望自己在被各种技术吸引的同时,能时常来整理和总结软件测试最基本的知识. 从刚工作时接触的第一个缺陷管理工具禅道,到redmine.JIRA.bugzilla ,再到现在的QC,当然还有其它种的开源的或商业的缺陷管理工具,它们的本质是一样的,就是来管理缺陷的生命周期. 其实,你理解任意的一款工具,其它的工具也一定能无师自通.这不谈某款工具,单把它本质的一些东西抽离出来与大家分享. Bug的属性 Bug重现环境 这个应该是我们重现bug的一个前提,如果没有这个前提,我们可能会无法

服务器-怎么在git版本库中下载某个版本的代码,而不是整个版本库。

问题描述 怎么在git版本库中下载某个版本的代码,而不是整个版本库. 例如我想下载SVN仓库中的某个版本直接svn co ...就可以了, 如果用git实现相同的用法,在本地没有版本库的情况下仅下载远程服务器上的某个版本库的代码,要使用GIT的什么命令呢? 解决方案 看看这个. 解决方案二: http://segmentfault.com/q/1010000002424900 解决方案三: 这个链接里面的方法是针对本地有版本库的情况可以直接用PULL命令来拉取,如果我的本地没有版本库,我还想只拉

测试过程中的评审工作及关注事项

测试过程中的评审工作及关注事项 公司的软件开发EPG过程规范中对测试领域的工作及其规范做了细致的说明,虽然是CMMI3+,不过还是有些地方只是官样文章,是形而上的东西,在实际工作中不具备任何的指导作用.所以我们领导觉得这个可以自己重新定义一些在测试思维上较为技术性的东西纳入到测试领域的规范当中,而我负责关于用户需求评审和系统测试用例评审的检查点整理工作.由于用户需求评审能够有助于测试人员系统测试工作的开展,所以下面就用户与需求评审所需要准备的工作.用户需求评审时所要思考的问题.系统测试用例评审过

软件测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug?

问题描述: 测试过程中如何区分什么是功能bug,什么是需求bug,什么是设计bug? 精彩答案: 会员 土土的豆豆: 本期问题其实主要是针对不同方面或纬度上对于bug的一个归类和定位. 个人认为,从软件开发测试生命周期上分析的话,三者从开发测试阶段应该是需求bug.设计bug.功能bug.(这里仅针对提问排比) 需求问题可以包括设计问题和功能问题,当然还有非功能性缺陷等. 需求bug,简而言之就是对于业务需求不清晰或者理解有偏差产生的问题.可能包括业务分析人员不专业因素.开发与测试人员思维不一致

软件测试过程中的度量与分析

本文中考虑的软件测试过程专指第三方的软件测试过程,即在测试的过程中,不涉及开发人员的修复过程. 度量和分析的目的是开发和维持一个用于支持项目信息需要的度量能力.通过对项目的度量,一方面可以逐渐丰富和完善公司的度量财富库,从而为项目经理进行项目工作量.进度等的预估时提供可靠的参考依据:另一方面,通过度量分析,项目经理可以有效的对项目情况进行监控,当度量分析报告中提供的结果超过了一定的阈值时,项目经理就应该采取相应的措施,也就是说度量分析有利于项目经理做出正确的管理和技术决策以及采取适当的纠正活动.

移动APP测试过程中对于BUG漏测的思考

1.背景 漏测,指在产品缺陷在测试过程中没有被发现(尤其是测试环境可以重现的缺陷),而是在版本发布后或者在用户使用后发现并反馈回来的缺陷. 生命不息,BUG不止,在对产品测试过程中,自己也难免出现一些BUG的漏测,因此,对BUG漏测进行一些思考,并进行总结. 2.原因分析 BUG其实是任何产品都会有的一个问题,不是所有的BUG都能被发现,包括资深测试,或多或少的会出现线上缺陷,谁也不能把软件所有的功能操作.运用场景想周全.虽说不能做到完全零缺陷,但是每次发布的产品,我们需要追求缺陷越来越少,产品

从 Git 提交历史中「恢复」文件修改时间

几个月之前,我贪图部署方便,把博客的部署方式,从本地编译推送更新变成了借助 Github 和 Travis-CI 自动部署. 用了几个月一直相安无事,直到几天前我小小修改了一下主题,展示了文章的更新日期. 本地调试的时候一切正常,直到我把变更推到 Github,触发了自动部署.下图就是出乎意料的上线效果. 注意到所有的文章的更新日期都是同一天了吗?真是伤脑筋啊.没错,正如你猜测的那样,我的星座是人见人黑的处女座. 为什么会出现这种测试效果和上线效果不一致的情况呢?我们得从 Linux 系统中文件

iOS开发那些事-Git在Xcode中的配置与使用

很多Git命令都是在命令行下运行的,命令行下管理Git有很多优点不用多说.但最大的缺点是要求用户记住这些命令.因此Git图形界面还是很受一些用户欢迎的,其中Xcode作为集成开发环境工具,也提供了一定Git图形界面功能.但是要想在Xcode中使用Git管理工程代码还想需要进行一些配置,然后才能使用. 如果我们是使用Xcode 4创建的一个iOS工程,在终端的命令行中提交代码时候,可能会出现下面的部分信息: create mode 100644 HelloWorld/HelloWorld.xcod