测试开发必修的Git技术栈,等你来学

一、Git架构

1. Git源码管理架构图

从架构图可以看到,git是分服务器和客户端两大部分。(也就是远程与本地分布式管理源码)

2. git服务器

一般服务器可以选择自己在Linux上面搭建,也可以选择使用开源的,如github、gitee等。

如有同学需要自己搭建git服务器,可以找Linux安装git的相关资料

当然我们一般学习可以使用gitee,当然文章也是推荐同学们使用gitee。

首先,注册gitee账号。https://gitee.com/

然后,新建仓库。

备注:新建仓库默认为私有仓库,如需改为公共仓库,可以创建后到管理里面更改

仓库地址:

3. git客户端

3.1 下载安装git客户端

1、各系统版本的git客户端下载地址 https://git-scm.com/downloads ,根据系统类型选择下载即可。

2、安装:

以windows为例,双击下载好的安装工具exe文件,所有选项保持默认,一路点击next直到完成安装即可。

安装完成后,在windows任意位置点击右键菜单出现,Git Bash Here 和 Git Gui Here 则安装成功可以使用了。

3、设置Git用户信息

在任意位置点击右键,选择Git Bash Here ,打开命令行 输入如下命令

git config --global user.name "你的用户名"

git config --global user.email "你的邮箱地址"

3.2 生成git秘钥

在Git Bash中输入如下命令,生成公私钥对

ssh-keygen -t rsa -C "你的邮箱地址"

回车之后出现如下提示信息,意思是指定密钥存放路径,建议直接回车。使用默认地址。

生成过程中输入你的用户密码,如果输入了一定要记住哦。

如果想要使用公钥的时候,不输入密码,在提示输入密码的时候,直接回车两次即可。

4. 生成的公钥在用户目录下的.ssh文件夹中,例如:C:\Users\roy08\.ssh

id_rsa:私钥

id_rsa.pub:公钥

之后使用时如果需要上传或者修改远端仓库,则需要将公钥配置到远端仓库服务器上,而私钥由自己保留在客户端本机,以便于Git使用时完成校验。

5. gitee配置公钥

在生成公钥的文件夹下面,示例为(C:\Users\roy08\.ssh),找到id_rsa.pub文件,用记事本打开,复制里面内容。

在gitee的设置里面,找到ssh公钥,然后粘贴进去,就可以了

4. 关联版本库

关联版本库,常见有两种方式

备注:如果是需要上传代码到服务器,建议使用git@的地址

4.1 读取版本库

# clone版本库到本地

git clone xxx.git

# 拉去最新代码

git pull

从服务器下载代码到本地后,可以在相应编辑器打开,就实现好了关联。

4.2 客户端初始化项目

# 创建与版本库项目同名文件夹,并执行初始化

git init

# 关联到已经创建的版本库

git remote add origin https://gitee.com/willtesting/public01.git

# 初始化版本库代码到本地master分支

git pull origin master:master

# 设置默认更新和上传代码的分支

git branch --set-upstream-to=origin/master master

此方法适合已经在本地创建了项目,需要把本地项目与服务器进行关联

备注:如果是更改版本库地址了,那么先删除版本库关联:git remote rm origin

然后执行2~4步骤

二、Git的使用

1. 只读的使用方式

在你存放项目的文件夹里面,右键打开git bash

1.1 获取源码

1.2 更新源码

在版本库源码文件夹中,打开git bash

1.3 切换分支代码

在版本库源码文件夹中,打开git gui,然后在左上角的Repository里面,View all branch history

通过reset可以切换代码到不同的历史提交记录以及分支

2. 写的使用

2.1 准备提交文件

在代码开发调试完成后,在版本库源码文件夹中,打开git gui。选择要提交的文件,并stage to commit。

过滤要提交的文件,可以参考本文里面:ignore文件使用

2.2 写入提交记录和备注

2.3 提交

点击2.2里面,3下面的commit,就可以把代码提交到暂存区(备注,此时还没有推送到服务器哦!)

2.4 推送

点击2.2里面,3下面的push,就可以推送代码到服务器,此时本次提交完成

3. 本地和服务器代码合并

提交代码时,要特别注意。由于git是一个分布式的管理架构,同时可以有多个本地仓库在与服务器交互。比如A和B同时与服务器交互,A先提交了代码到服务器,B后面提交时,git会提示B当前的代码不是服务器最新代码,提交就会失败。此时B需要先从服务器获取最新代码,然后在本地进行合并(比如A,B同时修改了c.txt文件,因为服务器不知道应该保留谁的更改,所以需要手动合并)。处理完合并冲突后,就可以提交到服务器,并会得到一次合并提交的记录。

服务器上的代码A先提交,那么B去提交的时候,会提示如下

如何解决这样的问题?

第一步:先git pull,更新服务器最新代码到本地,此时会提示合并代码到本地冲突

第二步:解决冲突部分代码

①:凡是有冲突的代码文件都会有报错提示

②:HEAD到=====部分代码是本地当前最新代码行

③:=======到>>>>>>>部分代码是服务器当前最新代码行

第二步和第三步两处代码就是冲突部分代码,解决冲突的开发需要看懂代码,然后决定保留什么样的代码,或者重新写。

解决后,删除HEAD、=====、>>>>>>>等提示语句

待所有冲突解决完毕,即可重新提交合并后代码,并push成功

合并后提交

成功!

三、git分支管理

一般来说:一个项目会有至少三个分支(dev,test,master)。分别用于开发,测试,发布。

好处在于:便于分开管理代码,有利于代码的管理和维护,也有利于代码的安全性

测开应用:众所周知,在数据驱动架构之上运行自动化,一般一套架构是可以同时支持web、app、接口的。

但不同自动化运行的时候,用例和部分代码可能有些许区别,这时候使用不同分支管理,会非常好

git分支管理主要是git命令的运用。掌握好下面的命令,就可以很好的掌握git分支

备注:这里是命令的说明

查看分支

创建分支

切换分支

添加文件到准备提交

提交

上传代码

删除分支

我们最终可以得到的分支效果图:

附加1:ignore文件使用

以该版本库示例代码为例:

我们在本地代码里面新建.gitignore文件,里面加入两个文件夹

再次打开git客户端,准备提交,这时候,.idea/目录下所有文件都会被忽略

备注:你哪些文件或者文件夹不需要提交,加一个忽略就OK了

未完待续////

你可能感兴趣的:(测试开发必修的Git技术栈,等你来学)