小白学开源

news/2025/1/21 18:50:24/文章来源:https://www.cnblogs.com/hywing/p/18238189

第一步

访问程序员交友网站,注册GitHub账号,注册流程请自行了解,如果已有账户请登录

image

第二步

在搜索框输入你想查找的项目,例如cjson

image

第三步

选择你感兴趣的那个项目,这里选择排行最前的那个,它的收藏数有9.5k

image

第四步

先点击Fork生成自己的子仓库,然后再收藏Star一下(Star主要是为了方便,也可以不Star)

image

第五步

点击Create fork

image

第六步

然后发现你的GitHub仓库已经生成了子仓库

image

第七步

拷贝url进行clone

image

命令行示范

git clone https://github.com/hywing/cJSON.git

image

第八步

创建自己的分支,然后推送,这样做的目的是让master作为同步分支,develop作为开发分支

git checkout -b develop master
git push origin develop

push失败的话,请参考另外一篇文章怎么加上token

image

设置认证token,然后再push就成功了

image

第九步

设置upstream上游仓库(https://github.com/DaveGamble/cJSON)

git remote add upstream https://github.com/DaveGamble/cJSON

第十步

拉取上游仓库更新,然后同步更新至master,这样可以时刻让自己的仓库跟上游仓库保持一致

git fetch upstream 
git checkout master
git rebase upstream/master
git push origin master

第十一步

如果你只需用这个开源库,以上第一到十步到就可以了,但是如果你发现了这个库的问题,你可以去上游仓库提一下issue

image

issue提交格式如下

image

第十二步

如果你恰好发现bug并且有了解决方案,可以将你的代码push到远程GitHub仓库并提pull request到upstream仓库,以下是一个提交示范,纯粹是演示目的

先把代码push到develop分支

git add test.
git commit -m "[modify update test.c" -a
git push origin develop

点击Contribute,然后点击Open pull request
image

依次填写pull request内容

image

总结

  • 都说万事开头难,但其实开源并没有那么难,只需要简单十几步就可以参与到开源项目中,you are never too old to learn!
  • 最早Linux操作系统也是Linus本人开源出来和社区分享的,通过社区的力量不断迭代并最终发展壮大
  • 开源是一种手段并非最终目的,不必担心开源之后就没有饭吃这样的事情,在开源的过程中让代码变得多元化这是一件值得高兴的事情
  • 脸皮要厚,不要怕别人拒绝你,你有好的idea随时加入别人:指正或者改善

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/721721.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RT-Thread Studio使用教程

RT-Thread工程开发教程,基于PSoc62开发板介绍 RT-Thread Studio是官方出品的一款专门针对RT-Thread嵌入式开发、部署、调试、测试的集成开发环境,它基于Eclipse开源项目开发,极大的提高了嵌入式开发者的开发效率,目前最新版本是2.26 下载 使用浏览器打开RT-Thread官网,选择…

一款.NET开源、免费、实用的多功能原神工具箱(改善桌面端玩家的游戏体验)

前言 今天大姚给大家分享一款.NET开源(MIT License)、免费、实用的多功能原神工具箱,旨在改善桌面端玩家的游戏体验:胡桃工具箱。工具箱介绍 胡桃工具箱是一款.NET开源(MIT License)、免费、实用的多功能原神工具箱,专为现代化 Windows 平台设计,旨在改善桌面端玩家的游…

VisualStudio 如何 SSH 远程调试 Linux 的 dotnet 应用的启动

本文将告诉大家,如何使用 VisualStudio 2022 工具,通过 SSH 远程调试运行在 Linux 系统上的 dotnet 系应用的启动过程本文写于 2024.06.07 如果你阅读本文的时间距离本文编写的时间过于长,那本文可能包含过期的知识 当前的 VisualStudio 2022 不能和在 Windows 一样,在 Lin…

Kernel 优化架构分析

Kernel 优化架构分析 推理引擎的 Kernel 层通常是推理引擎中用于执行底层数学运算的组件。在深度学习模型推理过程中,需要对大量数据进行高效的数学运算,如矩阵乘法、卷积、池化等。Kernel 层就是实现这些运算的核心部分,它直接影响着推理引擎的速度和效率。本章将从四个方面…

Spark安装与配置

以下是本文所用到的文件包 spark-2.4.5-bin-hadoop2.7https://incstallation-package.oss-cn-beijing.aliyuncs.com/spark-2.4.5-bin-hadoop2.7.tgz 一、 Spark安装与配置 1、选择spark2.4.5版,与之前hadoop-2.7.3与之相匹配。 如果没有安装过hadoop,可以查看 https://www.cn…

PVE管理虚拟机节点

今天使用PVE命令安装虚拟机。‍ 查看所有虚拟机qm list 查看所有虚拟机 ​​ 创建虚拟机qm create 创建虚拟机 qm create 106 --name vm-test --memory 2048 --net0 virtio,bridge=vmbr0基础配置 这条命令会创建一个 VM,ID 为 106​,名称为 myvm​,分配 2048MB​ 的内存,并…

Ubuntu 更新到 22.04.4 LTS 记录器 syslog 出错

显示 Sep 15 06:36:09 mail2 rsyslogd: action action-0-builtin:omfile suspended (module builtin:omfile), retry 0. There should be messages before this one giving the reason for suspension. [v8.2112.0 try https://www.rsyslog.com/e/2007 ] Sep 15 06:36:09 mail2…

SSH免密登录+JDK安装配置+Hadoop安装配置

一 、 设置SSH免密登录 1、修改主机名 (1)打开 /etc/hostname 修改为:master (2) 重启 在终端输入reboot 2、配置网卡 (1)改写网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33 #BOOTPROTO="dhcp" #注释 BOOTPROTO="static" …

2024 新高考I卷数学19题

整张卷子最好玩的题。Tips: 作者想题的时候在打块,可能是错的。 题目长这样:首先这个 \(a\) 没有任何用,只关注下标。 (1) 是超级原神题,答案是(1,6), (1,2), (5,6)。 (2) 我们拿 \(m = 3\) 玩一下:1 (2) 3 4 5 6 7 8 9 10 11 12 (13) 14 1 4 7 10 3 6 9 12 5 8 11 14 做完…

(5)FIFO知识点总结

一、格雷码问题三个问题:如何在二次幂和非二次幂的深度下设计读写指针什么情况下使用格雷码对指针进行编码什么情况下不可以使用格雷码 二、亚稳态问题三个问题:FIFO中的亚稳态问题是否能够真正消除若无法消除,为什么FIFO还能正确运行两排同步或多拍同步的差异rptr为3时,同…

重命名vue文件后ts爆红。文件xxx不在项目xxx的文件列表中。项目必须列出所有文件,或使用 include 模式。

问题 重命名vue文件后,在另一个vue文件中引入该文件,会爆红。 引入时我们写的是正确的文件路径ts.config.json中爆红依然显示旧的文件。分析npm run dev,可以正常运行,说明问题出在ts检查上面。 假如写一个不正确的路径,会提示找不到模块,证明路径匹配没有问题。 其实我并…

vue-router.js报错Uncaught TypeError: Cannot read properties of undefined (reading value)

出于自己的兴趣刚开始接触vue+vite+ts的前端项目时出现一个想不明白的报错Uncaught TypeError: Cannot read properties of undefined (reading value) 排查了很多东西,都没有问题,最后把目光放在了main.ts上面, 修改前的写法const app =createApp(App)app.mount(#app) app.…