软件测试工程师都应该掌握的Git基础知识
目录
一、版本控制
什么是版本控制?
百度定义:版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
-
实现跨区域多人协同开发
-
追踪和记载一个或者多个文件的历史记录
-
组织和保护你的源代码和文档
-
统计工作量
-
并行开发、提高开发效率
-
跟踪记录整个软件的开发过程
-
减轻开发人员的负担,节省时间,同时降低人为错误
概述为:用于管理多人协同开发项目的技术
常见的版本控制工具:
主流的版本控制器有如下这些:
-
Git
-
SVN(Subversion)
-
CVS(Concurrent Versions System)
-
VSS(Microsoft Visual SourceSafe)
-
TFS(Team Foundation Server)
-
Visual Studio Online
现在影响力最大且使用最广泛的是Git与SVN
版本控制分类:
-
本地版本控制:记录文件每次更新,以快照或是记录补丁文件控制版本,适合本人使用集成式版本控制
-
集成式版本控制:所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改
-
分布式版本控制:所有版本信息仓库全部同步到本地的每个用户
二、Git的历史
Git之父:Linus Torvalds
同样也是Linux之父
三、Git的安装及配置
windows 安装:
Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
Git CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
Git配置:
查看配置:
git config -l
必要配置:
设置用户名:
git config --global user.name "***" #名称
设置邮箱:
git config --global user.email *** #邮箱
常用的Linux命令
1)、cd : 改变目录。
2)、cd . . 回退到上一个目录,直接cd进入默认目录
3)、pwd : 显示当前所在的目录路径。
4)、ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
5)、touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
6)、rm: 删除一个文件, rm index.js 就会把index.js文件删除。
7)、mkdir: 新建一个目录,就是新建一个文件夹。
8)、rm -r : 删除一个文件夹, rm -r src 删除src目录
rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
9)、mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
10)、reset 重新初始化终端/清屏。
11)、clear 清屏。
12)、history 查看命令历史。
13)、help 帮助。
14)、exit 退出。
15)、#表示注释
Git的工作原理
Git传输数据就是在四大工作区之间传递:
工作区:也就是我们打开idea所看到的编辑代码的界面,通常称之为工作区,顾名思义就是我们敲代码的地方
暂存区:是存储受Git控制的文件目录的区域,新建文件及脚本是不受Git控制的,可以通过git add 命令将文件添加到暂存区
本地仓库:存储我们本地修改完成的代码,也就是通过git commit将暂存区的文件推送到本地仓库,区别于工作区,工作区里包括本地仓库也包括不受git控制的代码
远程仓库:一般指的是gitlab、github等网站所提供的仓库,通过git push能将我们本地仓库的代码推送到远程仓库,也可以推送到指定的远程分支
Git项目创建及克隆
Git项目有两种方式创建:一种是本地创建,一种是克隆远程仓库,通常我们工作中使用的都是第二种,因为只能先拉别人代码,hhh,希望能早日成为创建的
项目本地创建:
1、先打开你的idea,然后新建一个project
2.你可以在idea的terminate直接操作,或者打开你电脑的terminal
3.我以电脑terminal举例,cd进入到新建的project
4.初始化当前project,即Git可以操作当前project
git init
5.然后你需要到提供远程仓库的网站创建一个新的empty远程仓库(创建的时候不要勾选README文件!!!)
6.关联远程仓库 [url]替换为自己远程仓库的链接
git remote add origin [url]
7.查看关联的远程仓库
git remote -v
克隆远程仓库:
克隆远程仓库也有两种,一种是clone with ssh,还有一种就是clone with https,与之对应远程仓库的链接也不一致,在clone的时候就能看到。
Clone with SSH:
1.执行以下命令:
git clone [url]
ssh-keygen -t rsa -b 2048 -C "<comment>"
cat ~/.ssh/id_rsa.pub
第二个命令是生成SSH密钥,第三个命令执行后可以查看SSH密钥
2.打开远程仓库链接,找一找,找到 add an SSH key,把SSH key粘贴进去
3.后面就能直接使用git push拉代码了
Clone with HTTPS:
这个一般用的比较少,token需要从远程仓库的网站获取,点击创建后立马保存,后面会消失。
有两种方法用这个token:
1.输入git clone后,会要输入用户名和密码,密码就是token
git clone [http url]
username:email
password:token
2.在//和@之间插入token,这样就只要输入token作密码,并没有多省事
git clone http://token@url
password:token
相对来说,clone with ssh是最常用的方法。
Git的基本操作命令
Git常用的命令如上,就可以知道文件是在哪些区域传输了。
常见的工作流程:
通俗易懂的说,你每天上班怎么用Git
1.拉代码,git pull一把,保证代码在最新的,以防有同事偷偷加班到很晚才merge进来
使用temp分支的好处,就是避免会覆盖本地代码
- 拉代码,建议拉在本地一个temp分支
git pull origin 远程分支名:temp
- 合并分支 git merge temp
- 删除temp分支 git branch -d temp
2.敲代码,开始一天的搬砖
3.推代码,git push一把,像我们勤快人就不用加班了,到点推代码
遇到冲突怎么办?
因为多人协作很有可能发生冲突,这时候怎么办呢?
冲突一般发生在第一步,当你merge代码之后,会提示你有冲突,这时候不要慌,因为Git都会给出解决办法的,虽然可能看不懂
发生冲突后,使用git stash命令,能将冲突代码先存储起来,然后再git merge temp,这时候没有冲突的代码都会更新进来
使用git stash pop 会将有冲突的代码释放出来,并且会提示我们哪些文件有冲突,找到对应文件手动修改即可。
上半段是当前代码,下半段是merge进来的代码,中间用 =====隔开,自己选择留什么。
Git关于分支的说明
Git分支其实能学习的命令有很多,但我觉得最常用的也就是:
查看所有分支:git branch -a
创建分支:git branch 分支名
删除分支:git branch -d 分支名
总结
自动化测试工程需要知道的Git基础知识。