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

目录
相关文章
|
11天前
github克隆代码加速
github克隆代码加速
12 2
|
10天前
|
开发工具 git
git代码回退
git代码回退
18 5
|
9天前
|
开发工具 git
Git进行代码版本控制
Git进行代码版本控制
|
10天前
|
Shell 网络安全 开发工具
git实现服务器自动push拉取代码--webhooks
git实现服务器自动push拉取代码--webhooks
21 1
|
4天前
|
开发工具 git
git clone如何拉取代码,抓取和拉取
git clone如何拉取代码,抓取和拉取
|
5天前
|
开发工具 git
vscode设置 git提交代码忽略node_modules,dist,vscode如何设置不提交node_modules,dist
vscode设置 git提交代码忽略node_modules,dist,vscode如何设置不提交node_modules,dist
12 0
|
5天前
|
开发工具 git
vscode 将已修改代码提交推送git时一直转圈也没有反馈
vscode 将已修改代码提交推送git时一直转圈也没有反馈
12 0
|
6天前
|
Shell 网络安全 开发工具
上传本地代码到github
上传本地代码到github
8 0
|
9天前
|
安全 Serverless 网络安全
阿里云云效产品使用问题之如何拉取自建Git(未开放公网访问)中的代码
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
11天前
|
Shell 开发工具 git
如何使用git上传代码github仓库
如何使用git上传代码github仓库