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

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

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

目录
相关文章
|
5月前
|
Linux 测试技术 开发工具
CentOS Linux 8使用阿里源(安装jdk11、git测试)
CentOS Linux 8使用阿里源(安装jdk11、git测试)
517 1
|
存储 缓存 运维
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
【运维知识高级篇】一篇文章带你搞懂Git!(Git安装+全局配置+Git初始化代码仓库+Git四大区域+Git四种状态+Git常用命令+Git分支+Git测试代码回滚)
253 0
|
11月前
|
存储 开发工具 git
Git的简介以及基本使用
Git的简介以及基本使用
|
NoSQL Linux 开发工具
【Linux】第十站:git和gdb的基本使用(下)
【Linux】第十站:git和gdb的基本使用
101 0
|
NoSQL Linux 开发工具
【Linux】第十站:git和gdb的基本使用(上)
【Linux】第十站:git和gdb的基本使用
51 0
|
数据可视化 网络安全 开发工具
git可视化版本控制工具SourceTree的基本使用
git可视化版本控制工具SourceTree的基本使用
257 0
|
开发工具 git Docker
git:github的tag标签基本使用和自动发布软件包
git:github的tag标签基本使用和自动发布软件包
313 0
git:github的tag标签基本使用和自动发布软件包
|
Linux 开发工具 数据安全/隐私保护
【Git】Git 的基本使用
【Git】Git 的基本使用
97 0
|
缓存 开发工具 数据安全/隐私保护
git基本使用和github使用仓库拉取和提交
git基本使用和github使用仓库拉取和提交
|
网络安全 开发工具 git
Git的基本使用
Git的基本使用
77 0