【GIT】如何在GitHub上向一个开源项目贡献代码?

简介: 【GIT】如何在GitHub上向一个开源项目贡献代码?

如何在GitHub上向一个开源项目贡献代码

参考链接:https://www.bilibili.com/video/BV1WC4y1a76G/?p=1&t=175

一、fork目标仓库的代码

必须先fork别人的代码到自己仓库之后才能修改代码,不能直接修改别人的代码。

这样就fork到自己的仓库了。

二、克隆仓库到本地

  1. 选择https或者ssh其中一个命令复制
    推荐ssh,https克隆比较大的项目时候可能因为网络不稳定而克隆不下来。
    使用ssh克隆远程仓库需要预先配置ssh密钥,详情参考:https://blog.csdn.net/weixin_44624036/article/details/131500590
    设置ssh密钥之后,如果根据教程设置了密码,clone或者push项目的时候会让你输入一遍密码。

  1. 本地git bash中粘贴命令并运行
    选择项目存放的文件夹,在该文件夹下右键打开git bash,输入命令:
git clone git@github.com:zcongfly/Extended-SimGNN.git

  1. 进入项目文件夹,修改代码
    一般情况下,修改后新增的代码或者函数都需要为其添加测试用例,以验证代码的准确性和可用性。
    添加的测试用例在提交到GitHub远程仓库中时会自动执行。

三、提交代码

创建并切换到新的分支(可选)

  1. 项目下载下来后默认是在一个master分支,更推荐的做法是为你当前修改的代码新建一个功能分支,将修改后的项目提交到该功能分支。
  • 查看当前分支
git branch
  • 创建并切换新分支
    分支名是自定义的,一般以新增的功能命名,比如我对这个项目的修改就只是加上了一些注释,就命名为annotation
git checkout -b <新的分支名>

  1. 在新分支提交修改
  • 将当前文件夹下所有文件添加到暂存区
git add -A
  • 提交修改
    描述信息可以用中文,一般就是介绍本次提交都修改了哪些东西。
git commit -m '<描述信息>'

  1. push到远程仓库
  • push到远程仓库
git push
  • 创建并切换了新分支的话,会提示让push到特定分支并给出对应的命令,复制粘贴运行即可
git push --set-upstream origin <新的分支名>

出现类似上面的提示信息,说明push成功。

四、向原作者提交修改

此时重新打开GitHub,会看到网页多了一个Compare & pull request按钮,点击,按照提示操作,即可将修改的代码提交给原作者,意为“请求原作者把你修改的代码拿过去”,然后等原作者采纳就可以了。

下边的评论框中可以向原作者简单说明修改的内容等信息,填写完成后点击最下面的Create pull request提交即可。

目录
相关文章
|
4月前
|
开发工具 git
使用Git根据日期进行代码版本切换的方法
通过以上步骤,可以有效地根据日期进行Git代码版本的切换。这种方法在需要回溯历史版本进行bug修复或功能复查时特别有用。Git的灵活性和强大功能使其成为现代软件开发不可或缺的工具之一。
362 103
|
6月前
|
人工智能 安全 文件存储
炸裂!Github 6000+ star 开源免费易用,支持1000+格式转换,值得收藏!
ConvertX 是一款开源免费的在线文件转换工具,支持超过 1000 种格式转换,涵盖视频、文档、图像、3D 模型等。基于 FFmpeg、Pandoc 等强大组件,提供高效、私密的转换服务。支持 Docker、NAS 自托管部署,界面简洁,操作便捷,适合多场景使用,已在 GitHub 收获 6000+ Star,值得收藏和使用。
1021 0
|
6月前
|
JSON Kubernetes 安全
找到啦,我们已上车,Github 27000+ star,研发团队必备开源工具项目,真丝滑!!!
Trivy 是一款高效灵活的开源安全扫描工具,支持容器镜像、文件系统、Kubernetes 等多目标扫描,具备快速、易用、集成性强等特点,适用于 DevSecOps 全流程安全检测。
260 0
|
5月前
|
Apache 数据安全/隐私保护 Docker
【开源问答系统】GitHub 14.9k star 的开源问答引擎来了,三分钟搭建完成~~~
Apache Answer 是一款开源问答系统,助力团队将零散知识沉淀为结构化资产。支持 Docker 快速部署、插件扩展、权限控制与多语言,兼具高效搜索、投票排序与私有化部署能力,适用于技术社区、企业知识库与用户支持场景。
711 22
|
5月前
|
人工智能 JavaScript 前端开发
Github 2024-10-28 开源项目周报 Top15
本周GitHub热门项目涵盖Svelte、Open Interpreter、PowerShell等,涉及Web开发、AI助手、自动化工具等领域,Python、JavaScript为主流语言,展现开源技术活跃生态。(239字)
571 19
|
5月前
|
人工智能 JavaScript 前端开发
Github 2024-11-04 开源项目周报 Top14
本周GitHub热门项目涵盖屏幕截图转代码、网页监控、低代码开发等。Python与TypeScript主导,亮点项目包括AI生成代码工具、开源社交应用Bluesky及机器人框架LeRobot,展现AI与自动化技术的快速发展趋势。
315 15
|
5月前
|
缓存 自然语言处理 JavaScript
抓紧上车,别再错过啦, Github 开源后台管理平台,Naive UI !!!
naive-ui-pro 是基于 Vue3 + Vite + TypeScript 的免费开源中后台模板,主打“路由插件化架构”,将权限、页签、缓存等功能拆解为可插拔模块,像搭积木一样灵活组装。内置 14+ 插件、Pro Naive UI 组件库与丰富示例,支持移动端适配、多主题、国际化,MIT 许可,开箱即用,助力高效开发。
665 4
|
5月前
|
人工智能 JavaScript Docker
Github 2024-11-11 开源项目周报 Top15
本周GitHub热门项目涵盖多领域:Python与TypeScript领跑,包括屏幕截图转代码、本地文件共享、PDF处理、AI开发代理等。亮点项目如screenshot-to-code、LocalSend、OpenHands及Diagrams,兼具创新与实用性,广受开发者关注。
452 13
|
5月前
|
人工智能 算法 JavaScript
Github 2024-10-14 开源项目周报 Top14
本周GitHub热门项目共14个,Python项目占7席。涵盖算法实现、生成式AI、金融分析、目标检测等领域,包括TheAlgorithms系列、OpenBB金融平台、Ultralytics YOLO11、Manim动画框架等,展现开源技术多元发展态势。
214 8
|
5月前
|
人工智能 Rust JavaScript
Github 2024-10-07 开源项目周报 Top15
本周GitHub热门项目共15个,Python项目占比最高达7个。榜首为Python算法实现集合TheAlgorithms/Python,Star数超17万;其他亮点包括Godot游戏引擎、OpenBB金融平台、ToolJet低代码框架及新兴AI相关项目如Crawl4AI、Llama Stack等,涵盖游戏、金融、AI、理财等多个领域。
238 4