【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提交即可。

目录
相关文章
|
2月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
90 3
|
2月前
|
开发工具 git Python
代码管理记录(二):Github代码上传实操
本文是关于如何使用Git将本地代码上传到GitHub的实操指南。介绍了Git的基本概念、安装方法,并通过详细的步骤指导用户从GitHub创建仓库到使用Git命令初始化、添加、提交代码,最终将代码推送到远程仓库。同时,还汇总了一些常见的错误及其解决方法。
45 2
代码管理记录(二):Github代码上传实操
|
1月前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
75 1
|
1月前
|
Linux 网络安全 开发工具
IDEA如何配置git和github
【11月更文挑战第14天】本指南详细介绍了如何在 IntelliJ IDEA 中配置 Git 和 GitHub,包括检查和设置 Git 路径、测试配置,以及通过 SSH 或 HTTPS 方式配置 GitHub 仓库的具体步骤。完成配置后,用户可在 IDEA 中轻松进行版本控制操作。
102 0
|
1月前
|
存储 Linux 数据安全/隐私保护
一键部署 200+ 开源Github 2k+ 星星的软件
Websoft9面板是一款基于Web的PaaS/Linux面板,支持在个人服务器上一键部署200多种热门开源应用,适用于个人开发者、中小企业、创业团队、教育机构和技术爱好者。它集成了丰富的开源软件,提供便捷的部署方式、高效的资源利用、良好的可扩展性及低技术门槛,帮助用户快速搭建和管理各类应用。
|
2月前
|
开发工具 git
git如何修改提交代码时的名字和邮箱?
git如何修改提交代码时的名字和邮箱?
208 4
|
2月前
|
Java Linux 开发工具
IDEA中git提交前如何关闭code analysis以及开启格式化代码
【10月更文挑战第12天】本文介绍了在 IntelliJ IDEA 中关闭代码分析和开启代码格式化的步骤。关闭代码分析可通过取消默认启用检查或针对特定规则进行调整实现,同时可通过设置 VCS 静默模式在提交时跳过检查。开启代码格式化则需在 `Settings` 中配置 `Code Style` 规则,并通过创建 Git 钩子实现提交前自动格式化。
680 3
|
2月前
|
编解码 人工智能 自然语言处理
MaskGCT:登上GitHub趋势榜榜首的TTS开源大模型
近日,香港中文大学(深圳)联手趣丸科技推出了新一代大规模声音克隆TTS模型——MaskGCT。一起看看该模型的一些表现吧!
|
2月前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
242 0
|
2月前
|
JavaScript 前端开发 开发工具
一身反骨的我,用--no-verify绕开了git代码提交限制!
【10月更文挑战第7天】一身反骨的我,用--no-verify绕开了git代码提交限制!
155 0