为开源贡献 101

2025-06-08

为开源贡献 101

各位 CodeNewbies 大家好👋,

这是Hacktoberfest的最后一周了
我写这篇文章的时候,还剩两天😄。
如果你想贡献一份力量,你还来得及!

去年,我写了一篇关于我第一次为开源做出贡献的文章。
当时,我需要配置指向的远程仓库。我还必须从命令行upstream获取并合并以更新仓库。 但现在,借助 GitHub 的一些功能,有些事情变得简单了。upstreamorigin

在本文中,我将引导您了解对开源项目做出贡献的流程。

事不宜迟,让我们开始吧!💪

🛠 关于工具的说明:
我在浏览器上使用 GitHub 站点,并在 VSCode 上使用集成 bash 终端。


1. fork 原始仓库

首先,我们想 fork 原始仓库,而不是直接克隆它。
为什么要 fork 原始仓库?你可以在这篇文章中找到答案。

如何做到这一点?

  • 前往开源仓库
  • fork通过单击GitHub 右上角的按钮来 Fork repo 。

fork-repo.jpg

这个分叉的 repo 是originrepo,而原始 repo 是upstreamrepo。

2. 克隆 fork 仓库

  • 转到我们的 repo 列表并打开分叉的 repo。
  • 单击绿色的“代码”按钮。
  • 选择我们想要克隆的位置并复制链接。

克隆-repo.jpg

  • 打开终端/命令行。
  • 使用命令将其指向我们想要存储本地存储库的目录cd
  • 跑步git clone <copied-link>

3. 创建工作/功能分支

我们有本地仓库,可以开始处理更改了。
但在此之前,我们需要创建一个新的分支来处理它。不要在main/master分支中进行任何更改。
我们可以随意命名分支。在本例中,我将其命名为working-branch-name

  • 跑步git checkout -b working-branch-name

    此命令创建一个名为的新分支working-branch-name,并将自动引导我们到该分支。

4. 做出改变

我们还没有完成修改,但我们想就此打住

有时我们还没有完成更改,想稍后再继续处理。
换句话说,我们还没有准备好提交更改。

不要让我们的工作未保存。
如果我们不保存或提交更改,这些更改可能会被带到其他分支。

那么我们应该怎么做呢?

  • 跑步git stash

    此命令将保存我们的更改并将文件置于其原始状态,就像我们进行任何更改之前一样。

  • 跑步git stash pop

    此命令将返回我们保存的工作,现在我们可以继续进行更改。

但是,我们鼓励在做出任何更改后立即提交。拥有可供回顾的更改历史记录将大有裨益。

我们已经完成修改

  • 跑步git add .

    这将添加我们所做的所有更改。

或者,

  • 跑步git add -p

    我们可以逐一选择要暂存的更改。此命令将显示文件差异的块,并要求我们逐一暂存它们。

    您可以在此处阅读更多相关信息

  • 跑步git commit -m "Our message of changes here"

5. 更新远程和本地仓库

我们需要确保我们的本地 repo 与推送之前original具有相同的更新。upstream

  • 转到我们在 GitHub 上的分叉仓库。

    我们会Fetch upstream在右侧看到一个按钮。

    github-fetch-upstream-button.jpg

    GitHub 让我们可以轻松地从中获取更新upstream

    点击此按钮,我们将看到一个下拉菜单。
    Fetch and merge按钮处于非活动模式时,页面上没有更新upstream。如果按钮显示绿色,请点击它。

    我们的originrepo 现在具有与 相同的更新upstream

  • 前往我们的航站楼。

    • 使用命令前往我们当地的main分支git checkout main
    • 跑步git pull

      main此命令将获取 repo分支中的更改并将其合并origin到本地main分支。

    • 跑步git status

      此步骤确保我们的本地分支与 repo中的分支main保持同步mainorigin

      example_branch-是最新的.jpg

    我们的本地分支机构现在具有与main相同的更新originupstream

    • 请携带 前往我们的分行git checkout <branch-name>
    • 跑步git merge main

如果合并分支后遇到冲突,可以阅读我之前的文章(问题 5) 。

6. 将我们的更改推送到original仓库

  • 跑步git push -u origin working-branch-name

    此命令告诉推working-branch-name送到originrepo。

7. 创建拉取请求

  • 前往upstreamrepo。
  • 单击“比较和拉取请求按钮”。

    比较并拉取请求-btn.jpg

  • 它会将我们重定向到“打开拉取请求”表单。

    填写表格时,请以我们的变更为标题。在正文中填写变更描述。并在此处添加对问题的引用。
    打开拉取请求.jpg

  • 如果在合并之前我们需要维护人员的一些审查,我们可以起草一份拉取请求。

    点击“创建拉取请求”按钮旁边的箭头即可。它会弹出一个下拉菜单。选择“创建草稿拉取请求”,然后点击按钮。 否则,点击默认的“创建拉取请求”按钮。
    创建拉取请求下拉列表.jpg

8. 现在,下一步是什么?

喝咖啡gif

没有下一个了。就这样!
你为开源项目做出了贡献!🎉

现在您可以等待维护人员审核您的拉取请求😄。


感谢阅读!
最后,你也可以在推特上找到我。我们一起交流吧!😊

鏂囩珷鏉ユ簮锛�https://dev.to/adiatiayu/contributing-to-open-source-101-2dnm
PREV
前端工程师三年半经验分享:我的学习心得以及下一步计划?AWS 安全直播!
NEXT
成为全栈开发人员的终极路线图