给github项目贡献代码详细步骤

本文以 dlink 项目为例。

1. fork

第一步是打开 github 上的项目地址,然后点击页面右上角的 fork 按钮,将项目 fork 到自己账号的仓库,记得登录自己的 github 账号。具体看下面图示。

在这里插入图片描述
在这里插入图片描述

这个页面,不需要修改什么参数,保持默认即可。

fork 成功之后,网页就会跳转到自己仓库下的 dlink 项目页面。

2. idea 克隆项目

在这里插入图片描述

打开自己的 idea ,然后从 “来自版本控制获取” 来打开克隆自己仓库下的项目到本地。

这一步也可以使用 git 命令进行操作,不过 idea 界面化操作更简单,git 命令在这儿就不做演示了。

3. 完成一些配置

克隆完成后,打开 idea 下面的终端,输入一些 git 命令来进行一些必要的操作。

在这里插入图片描述

3.1. 检查 github 账号信息

git config --global -l

得到如下结果则没问题

user.name=your-user-name
user.email=your-email-address
core.quotepath=false
http.lowspeedlimit=0
http.lowspeedtime=999999
http.sslverify=false

一定要看好最上面的两项,要和自己的 github 账号里面的信息保持一致,否则给项目贡献了代码之后,虽然 github 项目上有贡献记录,但是自己的账号却不会出现在贡献者列表。

如果有信息后面显示为空,或者是和自己的 github 账号里面的信息不一致,则可以使用下面的命令进行修改。

git config --global user.name "your-user-name"
git config --global user.email "your-email-address"

3.2. 增加远程仓库

查看远程仓库信息:

git remote -v

第一次运行该命令,结果应该是只要你自己仓库的信息,如下:

origin  https://github.com/ziqiang-wang/dlink.git (fetch)
origin  https://github.com/ziqiang-wang/dlink.git (push)

增加远程仓库:

git remote add upstream https://github.com/DataLinkDC/dlink.git

命令解释:

  • add:固定写法,表示增加远程仓库。
  • upstream,远程仓库的名称,可以自己命令,以后会用到这个名称。
  • https://github.com/DataLinkDC/dlink.git:远程仓库的 git 地址。

查看远程仓库信息:

git remote -v

上面增加远程仓库成功的话,运行结果应该如下;

origin  https://github.com/ziqiang-wang/dlink.git (fetch)
origin  https://github.com/ziqiang-wang/dlink.git (push)
upstream        https://github.com/DataLinkDC/dlink.git (fetch)
upstream        https://github.com/DataLinkDC/dlink.git (push)

最后获取远程项目的所有变更:

git fetch upstream

upstream:这个就是上面添加的远程仓库的名称。

成功之后,结果如下:

remote: Enumerating objects: 378, done.
remote: Counting objects: 100% (377/377), done.
remote: Compressing objects: 100% (127/127), done.
Receiving objects: 100% (378/378), 154.80 KiB | 29.00 KiB/s, done. 1

Resolving deltas: 100% (196/196), completed with 22 local objects.
From https://github.com/DataLinkDC/dlink
   d10005ba..4eb1afc1  dev        -> upstream/dev
   0e53d225..6dde9244  dev-tenant -> upstream/dev-tenant

如果由于网络远程造成超时失败等问题,重复运行上面的命令即可。

4. 克隆分支

现在就可以在项目代码的基础上开始进行代码修改了。

修改代码之前,要先克隆自己想要提交代码的远程分支。如果想要基于最新代码进行开发,那就 checkout dev 分支,如果想要基于某个版本的分支进行修改,那就 checkout 对应版本的分支。

5. 提交 pr

此时,你已经修改了很多代码,并且本地也进行了很多测试,然后就可以提交更改,最后提交 pr 了。

5.1. 获取远程项目的所有变更

git fetch upstream

5.2. rebase 远程项目更改

这一步,我同样以 idea 界面操作来演示。

比如,现在我们想将自己本地已经修改的分支代码提交到远程仓库的 dev 分支,那就需要将远程仓库的 dev 分支代码 rebase 到自己的本地分支,下面是 idea 中的操作。

在这里插入图片描述

如果你的 idea 界面为英文界面的话,可以安装“Chinese(Simplified)Language Pack/中文语言包”插件,以切换中文界面。英文界面的变基rebase

5.3. 提交修改到自己的仓库

操作成功之后,就可以将自己修改的代码提交到自己的仓库,最后再提交 PR 了。

在这里插入图片描述

从这个界面中,可以看到自己修改过的代码,要注意,只提交自己想要提交的那些代码文件,不要提交一些不需要提交的文件。

同时也可以根据修改的内容,将修改过的文件放到不同的提交点里面,也就是每次提交,只提交当前提交点涉及到的文件。之后项目管理员进行代码 review 时,会更清晰。

在这里插入图片描述

进入 git 窗口,然后切换到自己的本地分支,就可以看到自己刚才提交的多个提交点了,之后就可以将这个分支所有更改提交到自己的仓库了。

在这里插入图片描述

一定要注意,这一步是将更改提交到自己的仓库,最好是进行强制推送,避免有些提交点没有提交到自己仓库对应的分支下。

5.4. 提交 PR

打开远程仓库,然后点击“Pull requests”,就会出现下面的界面

在这里插入图片描述

然后点击“Compare & pull request”,或者是“New pull request”进入提交 PR 的界面

在这里插入图片描述

填写好一些必要的信息之后,就可以进行 PR 的提交了。

提交 PR 只有,管理员可能会对 PR 进行一些提问或讨论,到时候直接回复即可。

5.5. 其他

每次提交 PR 之前,都需要通过 git fetch upstream 命令来获取远程仓库的所有更改,然后将远程仓库的 dev 分支 rebase 到自己的本地分支,然后提交更改,否则最后提交 PR 时,可能会显示代码有冲突。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

第一片心意

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值