详解 | 在本地安装使用GitHub上的开源项目

简介: 详解 | 在本地安装使用GitHub上的开源项目

前言



Airtest是一个开源项目,所以我们可以在 github.com/AirtestProj… 这里看到它的源码,除了直接看源码学习之外,我们也可以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 Requestgithub.com/AirtestProj… ,也就是说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拉取到我们本地上了,可以自由进行测试。如果大家在测试过程中遇到了问题,也欢迎大家在 github.com/AirtestProj… 这个PR的页面下方进行留言。


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



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

相关文章
|
2月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
80 3
|
2月前
|
编解码 人工智能 自然语言处理
MaskGCT:登上GitHub趋势榜榜首的TTS开源大模型
近日,香港中文大学(深圳)联手趣丸科技推出了新一代大规模声音克隆TTS模型——MaskGCT。一起看看该模型的一些表现吧!
|
4月前
|
存储 安全 Java
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
在一次意外中,作者因三年前将测试代码遗忘在GitHub上而遭遇了代码被他人fork的问题。为解决这一危机,作者详细介绍了如何通过GitHub的DMCA下架通知流程安全删除敏感代码,包括处理私人信息和商标侵权的具体步骤。本文不仅提供了实用的操作指南,还强调了及时响应的重要性,帮助读者避免类似风险
46 1
【事故】记一次意外把公司项目放到GitHub并被fork,如何使用DMCA下架政策保障隐私
|
2月前
|
数据采集 应用服务中间件 Go
开源的键鼠共享工具「GitHub 热点速览」
开源的键鼠共享工具「GitHub 热点速览」
|
4月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
122 2
|
4月前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
134 1
|
4月前
|
Rust Dart 前端开发
Github 2024-08-19 开源项目周报Top15
根据Github Trendings的统计,本周(2024年8月19日统计)共有15个项目上榜。按开发语言分类,上榜项目数量如下:Python项目最多,有7项;其次是JavaScript和TypeScript,各有3项;Dart有2项;HTML、PowerShell、Clojure和C++各1项。此外,还介绍了多个热门项目,包括Bootstrap 5、RustDesk、ComfyUI、易采集、Penpot等,涵盖了Web开发、远程桌面、自动化测试、设计工具等多个领域。
110 1
|
4月前
|
JavaScript 前端开发 Go
Github 2024-08-12 开源项目周报 Top14
本周Github Trendings共有14个项目上榜,按开发语言汇总如下:Python项目7个,TypeScript项目5个,C项目2个,JavaScript项目2个,Go和Batchfile项目各1个。其中亮点包括开发者职业成长指南、Windows激活工具、ComfyUI图形界面、AFFiNE知识库、易采集可视化爬虫等项目,涵盖多种实用工具和开源平台。
135 1
|
4月前
|
JavaScript 前端开发 Java
Github 2024-08-01 开源项目月报 Top17
根据Github Trendings统计,2024年8月共有17个项目上榜。按开发语言分类,项目数量如下:Python项目6个,非开发语言项目与TypeScript项目各4个,JavaScript项目3个,Java、Go及Vue项目各1个。其中,免费编程学习平台freeCodeCamp.org以381,011个Star数领先,提供全栈网页开发和机器学习课程。其他项目涵盖编程书籍、API集合、低代码开发平台等多种资源。
42 1
|
4月前
|
存储 JavaScript 前端开发
Github 2024-07-29 开源项目周报Top15
根据 Github Trendings 的统计,本周(2024年7月29日统计)共有15个项目上榜。按开发语言分类,项目数量如下:Python、Java、HTML 和 C 项目各有2项;TypeScript、JavaScript、Vue 和 Go 各有1项;另有1项非特定语言项目、1项 Dart 项目、1项 C++ 项目、1项 Rust 项目及1项 Jupyter Notebook 项目。这些项目涵盖了多种领域,如API开发、照片管理、PDF处理、AI技术等。
64 1