前言

很多小伙伴想参与到开源项目中,但是却不知道怎么在github提交代码

这里教大家怎么参与到开源项目的提交当中,成为contributor

步骤

1. Fork仓库

Fork的含义是衍生、分支的意思,这一步是从某个开源项目上引出一个新的分支。这样我们可以在我们引出的独立分支上自由修改,而不会对原始项目有影响。

下面我们以随便一个项目为例给大家演示如何参与开源合作:
点击源仓库右上角的Fork按钮
OGRE开源项目 开源项目contributor_git
创建fork
OGRE开源项目 开源项目contributor_其他_02

等待数秒,仓库就fork好了,可以看到个人仓库名称的下面有一个:

forked from *****

2. clone项目代码

复制项目git地址:

OGRE开源项目 开源项目contributor_git_03

在VSCode终端中输入命令:

git clone 项目的地址

等上数秒,即可完成仓库代码的克隆啦。

可能要输入github账号密码,如果不想每次这么做,请设置ssh秘钥。

3. 本地开发并提交

将本地修改的代码添加到git暂存区:

git add .

将暂存区的代码提交到本地git仓库:

git commit -m "提交的内容"

将本地git仓库代码push到远程个人仓库:

git push origin master

4. 设置upstream和同步源仓库最新代码

我们fork的代码很可能会滞后于源仓库最新代码,因此我们需要设置更新机制。

查看远程仓库地址:

git remote -v

默认情况下clone的仓库有以下两个远程地址:

$ git remote -v
origin  git@github.com:****i.git (fetch)
origin  git@github.com:****.git (push)

为了同步源仓库最新代码,我们需要配置一个upstream地址:

git remote add upstream git@gitub.com:****.git

配置完我们在查看下远程仓库配置:

$ git remote -v
origin  git@github.com:****.git (fetch)
origin  git@github.com:****i.git (push)
upstream    git@gitub.com:****.git (fetch)
upstream    git@gitub.com:****.git (push)

可以看到多了两个upstream地址,下面就可以同步源仓库最新代码到本地:

git pull upstream master

5. 提交PR

这时候我们只是提交到自己代码库,还需要请求合并到主库中,这个操作成为pull request,即PR。

访问个人仓库的PR页面,点击右上角的新建New pull request按钮:
OGRE开源项目 开源项目contributor_git_04

点击Create pull request

OGRE开源项目 开源项目contributor_github_05
OGRE开源项目 开源项目contributor_git_06
OGRE开源项目 开源项目contributor_其他_07

PR就创建好了,并自动跳转到PR详情页面

后续就是项目的管理员对你提交的PR进行代码检视,没问题就可以合入了