git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)

越来越多的同学加入自动化测试的行列,因为之前很多项目的测试脚本也是用git管理的,所以来找我问GIT相关问题的人突然变多了,大部分是checkin代码的时候遇到了各种各样的情况,干脆总结起来。 顺便提一下一些GIT插件用起来虽然非常方便,但是很容易误点,搞不好就-f了,如果实在受不了命令行的,可以考虑用下类似的插件,比如小乌龟。我还是以git bash命令为例,给大家分享一下我之前使用的感受和遇到比较多的问题的解决方案。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(1)

首先来看一下经常听到的比较多的一些名词:

GIT: 开源的分布式版本控制系统,通俗来讲就是能看到之前代码、文档等等信息的改动历史,以便查看。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(2)

GitHub:世界上最大的代码托管平台,HTTPS://github.com/。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(3)

Repository: 仓库,就是保存代码的地方。一般repository是指远程仓库。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(4)

PR: Pull Request,提交代码的请求。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(5)

Git Bash: 可以理解成git的终端。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(6)

.ignore: 每个git项目都需要一个ignore文件,里面是不需要checkin的文件。如果没有添加到.ignore里面,每次checkin的时候都需要手动把有修改但是不想checkin的内容剔除出去。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(7)

fork: 在github上比如你发现了nasa有一个项目叫fprime,你想把它加到自己的repository里面,只要轻点fork,就可以看到出现了<自己名字的repository>/fprime。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(8)

来看一下git中的一些命令

当然参数不同会有很多种用法,我这边只列举了测试日常项目中提交测试代码用得比较多的一部分:

1.git config: 设置每次提交commit的默认配置,例如用户名、邮箱等。

git config --global user.name <用户名> #设置用户名

git config --globle user.email <邮箱> #设置邮箱

2.git clone: 把github上自己reporsitory克隆到本地。

git clone <git url> #clone 项目

3.git branch: 对 branch 的操作

1) git branch #查看所有本地的 branch

2) git branch -r #查看远程的 branch

3) git branch -a #查看所有的 branch

4) git branch <branch name> #创建分支

5) git branch -d <branch name> #删除分支

4.git checkout: 切换 branch

git checkout <branch name> #切换到某 branch

5.git add: 把更改后的文件暂存起来

1)git add . #暂存所有变化,包括新增和修改

2)git add -A #暂存所有文件,包括新增、修改、替换、删除

6.git commit: 本地提交

1)git commit -m “<message>” #提交到本地仓库并添加备注

2)git commit <file> #提交一个文件

7.git status: 查看当前状态

git status #直接用就好啦

8.git reset: 后悔良药,通过修改 HEAD 的位置撤销 commit

git reset --hard <SHA-1 的前 6 位> #将 HEAD 指向到 SHA 值对应 commit 前

9.git revert: 撤销某一个 commit,不一定是最后一个

1) git revert HEAD^ #撤销上上个 commit

2) git revert <commit> #撤销指定的 commit

10.git cherry-pick: 从一个 branch 把其中的指定 commit 放到另一个 branch

git cherry-pick <commit> #将 commit 拉到当前分支

11.git fetch: 将远程仓库的内容拉到本地

git fetch <alias>/<branch> #比如将 origin/branch 拉下来

12.git merge: 和当前分支代码合并

git merge <branch> #将 branch 上面的代码与当前分支代码合并

13.git rebase: 和当前分支代码合并

1) git rebase <branch> #合并 branch 到当前分支并保留原始分支的 commit

2) git rebase --continue #解决冲突后,继续合并

14.git pull: 拉代码,是 git fetch git merge,相当于将远程仓库的内容拉到本地之后,和本地代码合并

git pull <alias>/<branch> #将 origin/branch 拉下来并和本地代码合并

15.git push: 上传代码

1)git push <alias> <local branch>:<remote branch> #将本地branch推到远程alias/branch

2)git push -f <alias> <branch> #强制执行

16.git log: 查看提交历史

git log -<n> #查看最后 n 个 commit

最后就是我们来实践一个项目吧:

【坑一:忘记密码】登录到 Github,哎呀,密码忘了,先做 10 道加法题:

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(9)

【坑二:没算对】再来一次:

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(10)

算了,放弃了,多试几次可能的密码吧……20 几分钟后,终于登进去了。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(11)

从 github 上把需要的代码搞下来:

方法一,点击 Code -> Download ZIP

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(12)

方法二,显得厉害一点,点击 Code,复制 HTTPS URL

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(13)

然后打开 git bash,执行命令 git clone https://github.com/nasa/fprime.git,项目就被拉下来了,因为笔者网速实在太慢,就不等 clone 结束了,后面就用 HelloWorld 项目举例子

了。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(14)

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(15)

可以为每个项目单独创建个 branch,这样同时做多个项目的时候就不会乱了。如果只是自己想在本地做版本管理,就不用 push 到远程仓库了,直接 merge 到自己的 master上就可以了,以此为例,我们开始试着做一个项目。首先新建一个叫做 dev 的 branch。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(16)

切换到新做的 branch 上,用 git checkout dev,可以看到右边蓝色的括号里面的分支名已经变了。

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(17)

用 IDE 打开项目

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(18)

修改 index.html 里面的代码,比如把“百度首页”改成“BAIDU 首页”,并保存

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(19)

到 git 里面看一下状态(我之前新增了 static/,并修改了 seetings.py)

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(20)

执行 git add .,把修改暂存,再看下变化,绿了!说明已经加进去了

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(21)

然后就可以 commit 了,执行 git commit -m “message”

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(22)

我们来看一下状态:

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(23)

提交很多次之后,这个项目终于做完了,就可以把代码整到 master 了,先 checkout到 master 上面

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(24)

把各个 dev branch 的代码整合在一起

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(25)

查看一下我的 master branch 上都有啥

git 代码评审工具(十分钟解读自动化测试中GIT的常见问题及解决方法)(26)

GIT 不仅能管理代码的版本,也可以管理文档的版本,是个非常好用的工具,可以为我们的测试工作提供很多便利。

最后:

1)关注 私信回复:“测试”,可以免费领取一份10G软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Mysql数据库、抓包工具、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试等。

2)关注 私信回复:"入群" 就可以邀请你进入软件测试群学习交流~~

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页