专栏文章 如何拉取远程仓库的分支到本地测试

fishfish-yu · 2019年12月04日 · 1256 次阅读

注:我们的 Airtest 官方公众号(AirtestProject)会持续更新大家对于 Airtest 感兴趣的问题,欢迎有需要的同学关注并查看我们更多的内容。
如想向我们反馈关于 AirtestProject 想了解的问题,欢迎到公众号后台留言。

前言

Airtest是一个开源项目,所以我们可以在 https://github.com/AirtestProject/Airtest 这里看到它的源码,除了直接看源码学习之外,我们也可以 clone 或者 fork 一份项目下来自行修改,同时还能够试用到Airtest的开发分支。

关于这个 GitHub 上Airtest源码的远程仓库,我们主要想与大家分享两方面的内容:

  1. 如何在本地安装并使用Airtest在 GitHub 上的源码;
  2. 如何上传本地的修改到Airtest仓库上给其他用户使用。

因为内容比较多,所以我们分俩期推文来介绍上述内容。今天这篇文章就是向大家介绍如何在本地安装并使用Airtest在 Github 上面的源码。

安装使用 GitHub 上的 Airtest 源码

先从 1 个具体的例子来看看第一部分的内容。Airtest远程仓库最近增加了一些新的修改,包括Android10的初步支持,以及报告部分样式的调整和 BUG 修复,如果我们想试用一下的话,就需要拉取Airtest仓库里面这个分支的内容到本地上,再进行测试。

具体的步骤如下:

安装 Git 客户端

首先,我们需要在自己的计算机上安装一个 Git 客户端(安装包可以从 Git 官网上获取)。

克隆 Airtest 的远程仓库到本地

找到你想存放 Airtest 远程仓库的目录,右键点击Git bush here,然后在命令行中输入以下命令:

git clone git@github.com:AirtestProject/Airtest.git 

运行之后客户端就会把Airtest的远程仓库下载到你的本地目录:

如果运行命令以后,并没有开始下载,而是出现如下提示:

这表明使用命令行去访问 GitHub 的时候,需要先填写身份认证,即需要新增 SSH 密钥到你的 GitHub 账户上(仅需要做一次):

  1. 在客户端运行clip < ~/.ssh/id_rsa.pub,即可将 SSH 密钥复制到剪切板上

  2. 登录 GitHub,点击右上角的头像,选择Settings

  3. 单击左侧的菜单栏中的SSH and GPG keys

  4. 再单击New SSH key

  5. title里填写自定义的描述标签,在key里面,把剪切板的密钥复制进去

  6. 单击 Add SSH key,再输入你的 GitHub 密码确认即可

拉取远程仓库的分支到本地

“Android10 支持” 相关分支的Pull Requesthttps://github.com/AirtestProject/Airtest/pull/618 ,也就是说id是 618,
要把这个 PR 拉取到本地,需要先进去刚才克隆的Airtest文件夹里面,右键点击Git bush here,再执行以下代码:

git fetch origin refs/pull/618/head:pr618

这条指令的意思是,将远程仓库的 618 号pull request拉取到本地的pr618分支上。

切换到 pr618 的分支

使用如下代码即可切换到 pr618 这个分支:

git checkout pr618

将 Airtest 安装到本地 python 环境

在测试前还需要先将这个Airtest仓库安装到本地python环境中,在命令行执行pip install -e .(不要忘记最后是个.号),因为我们提升了yosemite.apk的版本号,所以也可能会提示重新安装yosemite.apk

安装成功后,你还可以用pip list检查一下,当前的Airtest是不是指向你克隆Airtest的目录。

测试支持 Android10 的分支

自此,我们就把支持 Android10 的 pr 拉取到我们本地上了,可以自由进行测试。如果大家在测试过程中遇到了问题,也欢迎大家在 https://github.com/AirtestProject/Airtest/pull/618 这个 PR 的页面下方进行留言。

上传本地的修改到远程仓库上

这部分内容我们下期再见~

最后,如果大家对 Airtest 有疑问、BUG、建议,请到https://github.com/AirtestProject/AirtestIDE/issues 发布 issue,我们会有专人解答。同时,我们还提供了官方 QQ 群给大家沟通交流,目前 1 群已满,欢迎大家加入 2 群:

暫無回覆。
需要 登录 後方可回應,如果你還沒有帳號按這裡 注册