GitHub工程获取第三方PR操作

GitHub工程获取第三方PR操作

  • [1. 源由](#1. 源由)
  • [2. 获取第三方PR](#2. 获取第三方PR)
    • [Step 1:安装gh](#Step 1:安装gh)
    • [Step 2:获取个人Token](#Step 2:获取个人Token)
    • [Step 3:通过git协议获取代码](#Step 3:通过git协议获取代码)
    • [Step 4:获取第三方PR分支](#Step 4:获取第三方PR分支)
  • [3. 总结](#3. 总结)

1. 源由

通常来说,GitHub上通常有三种场景:

  1. 工程管理:branch、tag、rebase、cherry-pick etc.
  2. 工程开发:add、commit、merge、push etc.
  3. 工程测试:pull、gh etc.

不太测试第三方的PR,所以不太熟悉。这次记录下,以便后续操作的时候可以查阅。

2. 获取第三方PR

Step 1:安装gh

详细请参阅:Installing gh on Linux and BSD

bash 复制代码
$ (type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y

注:后续操作,请根据提示step by step操作,我们推荐Token方式来登录注册gh。

Step 2:获取个人Token

注:前提是需要有GitHub的个人账号;如果没有账号,请先注册。

在浏览器中输入:https://github.com/settings/tokens 获取token

Step 3:通过git协议获取代码

bash 复制代码
$ git clone git@github.com:stephendade/Rpanion-server.git

Step 4:获取第三方PR分支

  1. 针对https://github.com/stephendade/Rpanion-server/issues/223这个问题,作者进行了修改并生成了PR分支。
  2. 为了确保修改有效,且不影响master分支,那么就采用该PR分支的测试。
  3. 通过PR代码分支Video: Change to I420 format for Pi cam #232找到PR命令

4. 命令行中获取PR

bash 复制代码
$ gh pr checkout 232

3. 总结

该操作步骤对于源代码的版本控制和测试是非常棒的!

当然也有一些缺陷,就是实际在部署使用的过程,需要考虑环境因素。笔者在做这个PR测试验证,就没有注意到重新安装的过程系统进行了更新。

因此,一个完成项目需要具备DFX的设计理念

相关推荐
云雾J视界37 分钟前
Linux企业级解决方案架构:字节跳动短视频推荐系统全链路实践
linux·云原生·架构·kubernetes·音视频·glusterfs·elk stack
全栈小541 分钟前
【代码管理】在本地使用github和gitee之后,可能存在冲突,导致再次提交代码时提示Couldn‘t connect to server
gitee·github·代码管理工具
NocoBase1 小时前
11 个在 GitHub 上最受欢迎的开源无代码 AI 工具
低代码·ai·开源·github·无代码·ai agent·airtable·内部工具·app builder
tongsound2 小时前
libmodbus 使用示例
linux·c++
拾光Ծ2 小时前
【Linux】“ 权限 “ 与相关指令
linux·运维·服务器
硬核子牙2 小时前
调试器是怎么让代码停下来的
linux
To_再飞行2 小时前
Linux Bash(一)
linux·运维·服务器·bash
LCG元2 小时前
保姆级教程:CentOS 7/8 部署Nginx + MySQL + PHP(LEMP)环境,从零开始到上线项目
linux
疯癫的老码农2 小时前
【Linux环境下安装】SpringBoot应用环境安装(五)-milvus安装
linux·spring boot·milvus
今禾2 小时前
Git完全指南(中篇):GitHub团队协作实战
前端·git·github