如何给GitHub的开源项目贡献PR
🎯导读:本文详细介绍了如何向开源项目“代码随想录”贡献自己的题解。首先,需要Fork原项目的仓库至个人GitHub账户,然后解决克隆仓库时可能遇到的SSH密钥问题。接着,按照标准流程对本地仓库进行代码或文档的修改,并提交至个人仓库。最后,通过创建Pull Request的方式向原项目发起合并请求,完成对开源项目的贡献。文中还提供了详细的命令示例和截图指导,帮助读者轻松上手。
文章目录
- Fork原项目
- 克隆仓库文件
- 执行修改
- 提交修改后的文件到fork的仓库
- 提交PR
本文通过演示向代码随想录仓库中提交一道题解来讲解如何给开源项目贡献一个PR
Fork原项目
首先 fork 原项目,复制现有的仓库到个人仓库中

克隆仓库文件
fork成功之后,获取个人仓库 ssh 地址

通过clone,发现拉取错误
D:\Projects>git clone git@github.com:HelloDam/leetcode-master.git
Cloning into 'leetcode-master'...
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.
原因是缺少秘钥,首先生成一个秘钥,可以通过ssh-keygen -t ed25519 -C "邮箱.com"来生成秘钥,生成密钥过程中会问你要不要设置密码来保护,如果不用设置的话,直接回车即可
D:\Projects>ssh-keygen -t ed25519 -C "邮箱.com"
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\Admin/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Admin/.ssh/id_ed25519
Your public key has been saved in C:\Users\Admin/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:G+/LIBkH62BjQzuLPO0aCpw7Nvdsfafas7SsUCGxZN/9k45 邮箱.com
The key's randomart image is:
+--[ED25519 256]--+
| |
| |
| . . |
| + . o o |
|o + @ = S |
|.+.X @ = + |
|.oB X = + o |
|.*.B . . B |
|+o*o. *E. |
+----[SHA256]-----+
生成秘钥成功之后,在用户的.ssh目录下会出现id_ed25519和id_ed25519.pub两个文件

到Github中创建一个SSH Key

复制id_ed25519.pub的内容粘贴到里面,给SSH Key取一个标题

最后再创建一个config文件,内容如下所示。可以先创建一个config.txt文件,将下面内容复制进去,然后修改User为自己的邮箱号,保存成功之后,删除.txt后缀

Host github.com
User 邮箱
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_ed25519
Port 443
做完上面的步骤,再拉取项目,就拉取成功了
D:\Projects>git clone git@github.com:HelloDam/leetcode-master.git
Cloning into 'leetcode-master'...
remote: Enumerating objects: 35433, done.
remote: Counting objects: 100% (913/913), done.
remote: Compressing objects: 100% (458/458), done.
remote: Total 35433 (delta 572), reused 747 (delta 455), pack-reused 34520 (from 1)
Receiving objects: 100% (35433/35433), 96.66 MiB | 2.64 MiB/s, done.
Resolving deltas: 100% (24772/24772), done.
执行修改
这里可以是修改了仓库的代码,可以是修改了仓库的文件
提交修改后的文件到fork的仓库
正常提交文件到自己fork的仓库

提交PR

输入自己贡献的内容,然后Create pull request

接下来就是等待原仓库作者,看看是否选择合并代码即可,我们的事到这里就结束了

原仓库的PR中可以看到我的PR内容

相关文章:
如何给GitHub的开源项目贡献PR
🎯导读:本文详细介绍了如何向开源项目“代码随想录”贡献自己的题解。首先,需要Fork原项目的仓库至个人GitHub账户,然后解决克隆仓库时可能遇到的SSH密钥问题。接着,按照标准流程对本地仓库进行代码或文档的修改&#…...
神经网络-CNN
卷积神经网络 CNN 感受野 感受野(Receptive Field)在卷积神经网络(CNN)中是一个非常重要的概念,它描述了网络中某一层的输出(通常是特征图上的一个像素点)所对应的输入图像上的空间范围。 1. 定…...
4.Vue-------this.$set()的使用和详细过程-------vue知识积累
在Vue.js中,this.$set()是Vue实例this.someProperty someValue来为Vue实例的属性赋值时,Vue会自动将该属性设置为响应式的,这样当属性的值变化时,相关的视图会自动更新 一. 对象的修改 对象:修改和新增 先定义数据对…...
服务器上的常见Linux命令教程
在管理服务器(如香港服务器)时,掌握常见的 Linux 命令 是非常重要的,它们可以帮助你高效地完成服务器管理任务,如文件操作、进程管理、用户管理、网络配置等。 以下是一个系统化的 Linux 常见命令教程,分为…...
汽车总线协议分析-FlexRay总线
随着汽车智能化发展,汽车增加安全性和舒适体验的功能增多,用于实现这些功能的传感器、ECU的数量也在持续上升,严重阻碍了线控技术的发展。常用的CAN、LIN等总线由于缺少同步性、确定性和容错性不能满足汽车线控系统(X-by-Wire)的要求。因此&a…...
Java 集合:强大的数据管理工具
在 Java 编程中,集合是一种非常重要的工具,它提供了一种方便的方式来存储和操作一组对象。本文将深入探讨 Java 集合框架,包括其主要类型、特点、用法以及一些最佳实践。 一、引言 在软件开发过程中,我们经常需要处理一组数据。…...
FFmpeg 4.3 音视频-多路H265监控录放C++开发十九,ffmpeg复用
封装就是将 一个h264,和一个aac文件重新封装成一个mp4文件。 这里我们的h264 和 aac都是来源于另一个mp4文件,也就是说,我们会将 in.mp4文件解封装成一路videoavstream 和 一路 audioavstream,然后 将这两路的 avstream 合并成一…...
python之Django连接数据库
文章目录 连接Mysql数据库安装Mysql驱动配置数据库信息明确连接驱动定义模型在模型下的models.py中定义表对象在settings.py 中找到INSTALLED_APPS添加创建的模型 测试testdb.py中写增删改查操作urls.py添加请求路径启动项目进行测试 连接Mysql数据库 安装Mysql驱动 pip inst…...
基于Springboot+Vue的在线答题闯关系统
基于SpringbootVue的在线答题闯关系统 前言:随着在线教育的快速发展,传统的教育模式逐渐向互联网教育模式转型。在线答题系统作为其中的一个重要组成部分,能够帮助用户通过互动式的学习方式提升知识掌握度。本文基于Spring Boot和Vue.js框架&…...
声音克隆GPT-SoVITS
作者:吴业亮 博客:wuyeliang.blog.csdn.net 一、原理介绍 GPT-SoVITS,作为一款结合了GPT(生成预训练模型)和SoVITS(基于变分信息瓶颈技术的歌声转换)的创新工具,正在声音克隆领域掀…...
【STM32 Modbus编程】-作为主设备读取保持/输入寄存器
作为主设备读取保持/输入寄存器 文章目录 作为主设备读取保持/输入寄存器1、硬件准备与连接1.1 RS485模块介绍1.2 硬件配置与接线1.3 软件准备2、读保持寄存器2.1 主设备发送请求2.2 从设备响应请求2.3 主机接收数据3、读输入寄存器4、结果4.1 保持寄存器4.2 输入寄存器在前面的…...
前端开发入门指南Day 17:TypeScript高级类型(泛型,类型守卫,Partial<T>和 Required<T>等)
泛型:代码的"变色龙" 🦎 为什么需要泛型? 想象一个快递员,每天要处理不同类型的包裹。如果为每种类型的包裹都写一套处理程序,那会很麻烦。泛型就像是一个"通用的包裹处理系统",它能…...
flex布局容易忽略的角色作用
目录 清除浮动 作用于行内元素 flex-basis宽度 案例一: 案例二: 案例三: flex-grow设置权重 案例一: 案例二: 简写flex-grow:1 0 auto; flex作为一维布局,行和列的使用,忽略的小角色,大…...
如何开发高效的企业内训APP?教育培训系统源码搭建实战详解
本篇文章,小编将从教育培训系统的源码搭建、功能设计以及技术实现等方面,详细探讨如何开发一款高效的企业内训APP。 一、企业内训APP的需求分析 在开发企业内训APP之前,首先需要明确其基本需求。一个高效的企业内训APP应该具备以下几个核心…...
【软考网工笔记】网络基础理论——传输层
IPSec协议 Internet协议安全性是一种开放标准的框架结构,通过使用加密的安全服务以确保在Internet协议(IP)网络上进行保密而安全的通讯。 工作在OSI模型的第三层网络层上,使其在单独使用时适于保护基于TCP或UDP的协议࿰…...
如何预防服务器后台爆破攻击
服务器后台爆破(Brute Force Attack)是一种通过反复尝试用户名和密码组合,以非法获取系统访问权限的攻击方式。这种攻击不仅会消耗服务器资源,还可能导致合法用户被锁定或敏感数据泄露。为了有效预防服务器后台爆破攻击࿰…...
CMake笔记之在CMakeLists.txt文件中开启Debug模式
CMake笔记之在CMakeLists.txt文件中开启Debug模式 code review! 文章目录 CMake笔记之在CMakeLists.txt文件中开启Debug模式1.设置 CMake 的构建类型2.添加编译器的调试选项3.使用 CMAKE_CXX_STANDARD (可选)4.编译和构建5.针对多配置生成器6.最终示例 CMakeLists.txt 1.设置 …...
C++编程:模拟实现CyberRT的DataVisitor和DataDispatcher
文章目录 0. 引言1. 设计概要1.1 主要组件1.2 类关系图1.3 工作流程 2. 代码实现2.1. 定义数据结构2.2. 实现 DataVisitor2.3. 实现 DataDispatcher2.4. 实现 Receiver2.5. 实现具体的 DataVisitor2.6. 示例主程序2.7. 编译和运行 0. 引言 使用 C 实现一个类似CyberRT 架构的 …...
【Flutter】WillPopScope组件-监听物理返回键事件自定义返回事件
WillPopScope(onWillPop: () async {if ( flutterWebViewPlugin ! null && await flutterWebViewPlugin.canGoBack() true) {flutterWebViewPlugin!.goBack();return false; // 阻止默认的返回行为} else {return true; // 允许默认的返回行为}},child: Scaffold(),);…...
【sqlserver】mssql 批量加载数据文件 bulk copy使用
参考文章: Using bulk copy with the JDBC driver SqlServer数据批量写入 SqlServer批量插入数据方法–SqlBulkCopy sqlserver buld copy需要提供,数据文件的对应表的元数据信息主要的字段的位置、字段的名称、字段的数据类型。 执行bulk load时候不一…...
告别重影和误检:手把手教你为Apollo 7.0激光雷达数据做运动补偿
激光雷达运动补偿实战:解决Apollo 7.0中的点云畸变问题 当自动驾驶车辆以72km/h的速度行驶时,激光雷达每采集一帧点云的100毫秒内,车辆已经移动了2米。这个看似微小的位移,却会导致点云中出现车辆"分身"、建筑物扭曲等诡…...
Perplexity vs ChatGPT vs Claude:用户评论情感分析对比报告(NLP模型实测,含21项维度打分)
更多请点击: https://intelliparadigm.com 第一章:Perplexity用户评论汇总 主流平台用户反馈概览 Perplexity 作为以引用驱动、实时联网为特色的AI问答工具,近期在Reddit、Product Hunt及Twitter等平台收获大量真实用户评论。高频关键词包括…...
Oryx 2部署与运维手册:生产环境配置完全解析
Oryx 2部署与运维手册:生产环境配置完全解析 【免费下载链接】oryx Oryx 2: Lambda architecture on Apache Spark, Apache Kafka for real-time large scale machine learning 项目地址: https://gitcode.com/gh_mirrors/or/oryx 想要在生产环境中稳定运行大…...
Kubernetes集群能耗监测:RAPL与Prometheus方案对比
1. 项目概述在Kubernetes集群中实现精确的能耗监测一直是系统优化领域的难点问题。作为一名长期从事分布式系统性能调优的工程师,我最近完成了一项关于RAPL与Prometheus在Kubernetes集群能耗监测中的对比研究。这项研究源于我们在实际工作中遇到的一个具体问题&…...
Perplexity健康科普查询深度拆解(临床医生都在用的7个隐藏技巧)
更多请点击: https://codechina.net 第一章:Perplexity健康科普查询的底层逻辑与临床价值 Perplexity 健康科普查询并非传统关键词匹配式搜索引擎,其核心依托于实时检索增强生成(RAG)架构与权威医学知识图谱的深度融合…...
从‘班级-学生’数据实战出发:手把手教你用R语言的lme4包搞定多层线性模型(MLM/HLM)
从班级-学生数据实战:R语言lme4包多层线性模型全流程解析 当研究者面对具有层级结构的数据时(如学生嵌套于班级、员工嵌套于公司),传统线性回归的独立性假设往往被打破。多层线性模型(Multilevel Linear Models, MLM&a…...
非规则区域上空间分数阶偏微分方程的有限元方法【附仿真】
✨ 长期致力于空间分数阶导数、高维问题、有限元方法、非规则区域、非结构化网格、非光滑解研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)二维非规则…...
B站缓存视频转换完全指南:让珍贵内容真正属于你
B站缓存视频转换完全指南:让珍贵内容真正属于你 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经有过这样的经历࿱…...
OpenCV报错解决:cornerSubPix断言失败 src.channels() == 1 的终极
一、 问题现象:令人头秃的 -215 断言错误 在进行相机标定、棋盘格角点提取或 Harris 角点优化时,很多开发者在调用 cv2.cornerSubPix 函数进行亚像素级精确定位时,经常会遇到如下崩溃报错: D:\a\opencv-python\opencv-python\open…...
关键字[Static]
一、static 的三种用法 1. 静态局部变量 * 特性: * - 只初始化一次(程序启动时) * - 函数返回后值保留(不销毁) * - 下次调用时保持上次的值 * - 存储在静态区,不在栈上 2. 静态全局变量(文件作用域限制) 仅在 xx.c 内可见,其他文件无法访问 3. 静态函数(文件作用域限…...
