代码改变世界

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

2025-12-04 10:23  虫师  阅读(8)  评论(0)    收藏  举报

1.说明

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

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

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

2. 操作步骤

2.1 fork分支

  1. 访问你想 fork 的开源项目,点击【fork】按钮。

3b43fc67-d538-4fa7-a925-0b8fbd7b7303

  1. 选择fork 的账号和项目名称。

1cfada05-1ae6-4de6-a8be-4de677b650c0

  1. 现在你已经有了一个和源项目相同的项目了。

8c411328-a665-41d0-b3f5-9f2ca1919d39

2.2 更新项目

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

  1. 克隆项目到本地
$ 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. 修改项目:这里以增加了测试用例为例。

b6490627-d20c-4ded-8e49-fd2275df857e

本地验证测试用例通过。

56b1b0e3-a490-40e7-b217-b33887d8c6dd

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

$ 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

b9f6fc18-3f7c-4593-bfca-822daa4116d5

  1. 提交代码

fe1c1f1b-5b11-4b35-905f-23165599784f

  1. 切换回 githiub.com 查看项目已经更新了。

61ca1cf0-190c-4ce5-8ca2-c555c466d551

2.4 提交 PR

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

  1. 点击项目的【Pull requests】提交PR。

23d99a0b-1828-48e3-ad7e-112a8743ae7d

  1. 确认要从henryhu88 仓库和分支合并到seldomQA 仓库和分支。

cf9b24c1-4d24-4c19-9c1d-adc04a90b67f

  1. 填写合并信息。

b172e9dd-386e-432c-8cb4-c5eda38897be

  1. 等待源项目作者确认后即可合并。

9a73e373-7c39-400b-9ab6-4f34b19cb938

2.5 更新fork分支

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

61ca1cf0-190c-4ce5-8ca2-c555c466d551

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

1c57b981-ce52-4b60-b9d5-3aa747810c94

Web Page Counters
Computer Desks