如何给 GitHub 开源项目贡献代码

1.说明

参与开源项目是一件比较有成就感的事情,有时候改一些简单的文案也是对开源项目的贡献,接下来,我将详细的介绍如何给开源项目贡献代码。

示例:https://github.com/SeldomQA/lounger

下面介绍通用的方式,如果你想为任何一个 Github 上面的开源项目提交代码都是通用的。

2. 操作步骤

2.1 fork分支

  1. 访问你想 fork 的开源项目,点击【fork】按钮。
  1. 选择fork 的账号和项目名称。
  1. 现在你已经有了一个和源项目相同的项目了。

2.2 更新项目

现在,你可以基于自己 fork 的分支项目进行更新。

  1. 克隆项目到本地
bash 复制代码
$ git clone https://github.com/henryhu88/lounger

Cloning into 'lounger'...
remote: Enumerating objects: 877, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 877 (delta 10), reused 24 (delta 6), pack-reused 845 (from 1)
Receiving objects: 100% (877/877), 1.71 MiB | 1.32 MiB/s, done.
Resolving deltas: 100% (513/513), done.
  1. 修改项目:这里以增加了测试用例为例。

本地验证测试用例通过。

  1. 接下来,我们提交代码。
bash 复制代码
# 添加修改的文件

$ git add .

# 查看哪些文件添加 git 管理 
$ git status
On branch main
Your branch is up to date with 'origin/main'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
    new file:   config/config.yaml
    new file:   test_config_var.py

# 执行 commit 
git commit -m ":white_check_mark: add test case"


# 提交代码
git push origin main

假设,你在公司 提交代码到 Github 是不被允许的。如何解决这个问题?

  1. 使用非公司的电脑和网络即可,但是大部分同学家里的电脑没有开发环境,或者非工作日不维护开源。🙁
  2. 使用 Github 在线编辑器。 推荐 ✅

2.3 Github在线编辑器

我们只需要将 github.com 替换成 github.dev就可以通过浏览器编辑项目了。

  1. 在线编辑代码
    https://github.dev/henryhu88/lounger/tree/main/tests
  1. 提交代码
  1. 切换回 githiub.com 查看项目已经更新了。

2.4 提交 PR

这个过程大家应该很熟悉了,我们要求以 PR 的形式提交合并代码。

  1. 点击项目的【Pull requests】提交PR。
  1. 确认要从henryhu88 仓库和分支合并到seldomQA 仓库和分支。
  1. 填写合并信息。
  1. 等待源项目作者确认后即可合并。

2.5 更新fork分支

过了一段时间,你发现fork的源项目(Seldom/lounger )已经更新了。

此时,我们又需要继续为这个开源项目继续贡献代码, 只需要在我们fork 的分支项目(henryhu88/lounger)中点击【Sync fork】按钮即可同步源项目最新的代码过来。