如何在GitHub上向一个开源项目贡献代码
参考链接:https://www.bilibili.com/video/BV1WC4y1a76G/?p=1&t=175
一、fork目标仓库的代码
必须先fork别人的代码到自己仓库之后才能修改代码,不能直接修改别人的代码。
这样就fork到自己的仓库了。
二、克隆仓库到本地
- 选择https或者ssh其中一个命令复制
推荐ssh,https克隆比较大的项目时候可能因为网络不稳定而克隆不下来。
使用ssh克隆远程仓库需要预先配置ssh密钥,详情参考:https://blog.csdn.net/weixin_44624036/article/details/131500590
设置ssh密钥之后,如果根据教程设置了密码,clone或者push项目的时候会让你输入一遍密码。
- 本地git bash中粘贴命令并运行
选择项目存放的文件夹,在该文件夹下右键打开git bash,输入命令:
git clone git@github.com:zcongfly/Extended-SimGNN.git
- 进入项目文件夹,修改代码
一般情况下,修改后新增的代码或者函数都需要为其添加测试用例,以验证代码的准确性和可用性。
添加的测试用例在提交到GitHub远程仓库中时会自动执行。
三、提交代码
创建并切换到新的分支(可选)
- 项目下载下来后默认是在一个master分支,更推荐的做法是为你当前修改的代码新建一个功能分支,将修改后的项目提交到该功能分支。
- 查看当前分支
git branch
- 创建并切换新分支
分支名是自定义的,一般以新增的功能命名,比如我对这个项目的修改就只是加上了一些注释,就命名为annotation
。
git checkout -b <新的分支名>
- 在新分支提交修改
- 将当前文件夹下所有文件添加到暂存区
git add -A
- 提交修改
描述信息可以用中文,一般就是介绍本次提交都修改了哪些东西。
git commit -m '<描述信息>'
- push到远程仓库
- push到远程仓库
git push
- 创建并切换了新分支的话,会提示让push到特定分支并给出对应的命令,复制粘贴运行即可
git push --set-upstream origin <新的分支名>
出现类似上面的提示信息,说明push成功。
四、向原作者提交修改
此时重新打开GitHub,会看到网页多了一个Compare & pull request
按钮,点击,按照提示操作,即可将修改的代码提交给原作者,意为“请求原作者把你修改的代码拿过去”,然后等原作者采纳就可以了。
下边的评论框中可以向原作者简单说明修改的内容等信息,填写完成后点击最下面的Create pull request
提交即可。