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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容