如何贡献?
感谢您投入时间为项目做出贡献!您所做的任何贡献都将反映在最新版本的 Argilla 中 🤩。
不熟悉贡献?
如果您是新的贡献者,请阅读 README 以概述项目。此外,这里有一些资源可以帮助您开始进行开源贡献
- Discord:欢迎加入 Argilla Discord 社区,您可以在这里与其他用户、贡献者和 Argilla 团队保持联系。在以下 部分 中,您可以找到有关如何在 Discord 中入门的更多信息。
- Git:这是一个非常有用的工具,用于跟踪文件中的更改。使用命令行界面 (CLI),您可以轻松地做出贡献。为此,您需要在计算机上 安装并更新 它。
- GitHub:它是一个平台和基于云的服务,使用 git 并允许开发人员在项目上进行协作。要为 Argilla 做出贡献,您需要创建一个帐户。查看 使用 Git 和 Github 的贡献者工作流程 以获取更多信息。
- 开发者文档:为了协作,您需要设置一个高效的环境。查看 开发者文档 以了解如何操作。
在 Discord 中首次联系¶
Discord 是一个方便的工具,用于更轻松的对话和回答日常问题。作为 Hugging Face 的一部分,我们在服务器上设置了一些 Argilla 频道。单击 此处 即可轻松加入 Hugging Face Discord 社区。
当您加入 Hugging Face Discord 后,可以选择“频道和角色”,然后选择“Argilla”以及您感兴趣的任何其他组。“Argilla”将涵盖有关 Argilla 和 Distilabel 的任何内容。您可以加入以下频道
- #argilla-announcements:📢 重要公告和更新。
- #argilla-distilabel-general:💬 关于 Argilla 和 Distilabel 的一般性讨论。
- #argilla-distilabel-help:🙋♀️ 需要帮助吗?我们随时为您提供帮助。为您的issue选择合适的标签(
argilla
或distilabel
)并发布它。
现在只剩下一件事要做:介绍你自己并与社区交流。永远欢迎你!🤗👋
使用 Git 和 GitHub 的贡献者工作流程¶
如果您正在使用 Argilla,突然有一个新想法出现在您的脑海中,或者您发现了一个可以改进的问题,那么现在是积极参与并为项目做出贡献的时候了!
报告问题¶
如果您发现问题,请 搜索是否已存在 issue。您可以使用“标签”过滤器。如果是这种情况,请参与对话。如果不存在,请点击“New Issue”创建一个 issue。
这将显示各种模板,选择最适合您 issue 的模板。
下面,您可以看到“Feature request”模板的示例。选择一个后,您需要按照指南填写它。尽量尽可能清晰。此外,您可以将自己分配给该 issue,并添加或选择正确的标签。最后,点击“Submit new issue”。
使用 Fork¶
Fork Argilla 仓库¶
报告 issue 后,您可以开始处理它。为此,您需要创建项目的 fork。要做到这一点,请点击“Fork”按钮。
现在,填写信息。如果您要处理或从另一个分支进行工作(例如,要修复文档,则使用 main
分支),请记住取消选中“仅复制 develop 分支”。然后,点击“Create fork”。
现在,您将被重定向到您的 fork。您可以看到您在您的 fork 中,因为仓库的名称将是您的 username/argilla
,并且它会指示“forked from argilla-io/argilla”。
克隆 Fork 仓库¶
为了进行必要的调整,请将 fork 仓库克隆到您的本地计算机。选择目标文件夹并运行以下命令
为了使您的 fork 的 main/develop 分支与我们的仓库保持同步,请将其添加为上游远程分支。
创建新分支¶
对于您要处理的每个 issue,建议创建一个新分支。GitHub 提供了一种直接的方法来简化此过程。
⚠️ 永远不要直接在
main
或develop
分支上工作。始终为您的更改创建一个新分支。
导航到您的 issue,然后在右侧列中选择“Create a branch”。
在新窗口弹出后,分支将以 issue 命名,并包含诸如 feature/、bug/ 或 docs/ 之类的 prefix,以方便快速识别 issue 类型。在“Repository destination”中,选择您的 fork ([your-github-username]/argilla),然后选择“Change branch source”以指定用于创建新分支的源分支。点击“Create branch”完成该过程。
🤔 请记住,
main
分支仅用于处理文档。对于任何其他更改,请使用develop
分支。
现在,在本地切换到您刚刚创建的新分支。
使用 CHANGELOG.md¶
如果您正在开发新功能,最好记录下来,以便其他人跟上更改。为此,我们使用根目录中的 CHANGELOG.md
文件。此文件用于列出项目中每个版本所做的更改,并且我们使用标题来表示每种类型的更改。
- Added:用于新功能。
- Changed:用于更改现有功能。
- Deprecated:用于即将删除的功能。
- Removed:用于现在已删除的功能。
- Fixed:用于任何错误修复。
- Security:在出现漏洞的情况下。
一个示例添加将是
- Fixed the key errors for the `init` method ([#NUMBER_OF_PR](LINK_TO_PR)). Contributed by @github_handle.
您可以查看 CHANGELOG.md) 文件以查看更多案例和示例。
进行更改并推送¶
在本地仓库中进行您想要的更改,并测试一切正常且您遵循了指南。
查看 开发者文档 以设置您的环境并开始处理项目。
完成后,您可以使用以下命令检查仓库的状态并与上游仓库同步
# Check the status of your repository
git status
# Synchronize with the upstreaming repo
git checkout [branch-name]
git rebase [default-branch]
如果一切正确,我们需要提交更改并将更改推送到您的 fork。为此,请运行以下命令
# Add the changes to the staging area
git add filename
# Commit the changes by writing a proper message
git commit -m "commit-message"
# Push the changes to your fork
git push origin [branch-name]
推送时,系统会要求您输入 GitHub 登录凭据。推送完成后,所有本地提交都将在您的 GitHub 仓库中。
创建拉取请求¶
回到 GitHub,导航到您创建 fork 的原始仓库,然后点击“Compare & pull request”。
首先,点击“compare across forks”并选择正确的仓库和分支。
在基础仓库中,请记住根据所做的修改选择
main
或develop
。在头部仓库中,指示您的 fork 仓库和与 issue 对应的分支。
然后,填写拉取请求模板。您应该像上面对分支所做的那样,在 PR 名称中添加 prefix。如果您正在开发新功能,可以将您的 PR 命名为 feat: 标题
。如果您的 PR 包含 bug 的解决方案,您可以将您的 PR 命名为 bug: 标题
。并且,如果您的工作是为了改进文档,您可以将您的 PR 命名为 docs: 标题
。
此外,在右侧,您可以选择一个审查者(例如,如果您与 Argilla 团队的成员讨论过该 issue)并将拉取请求分配给自己。强烈建议也为 PR 添加标签。您可以再次通过屏幕右侧的标签部分来执行此操作。例如,如果您正在处理 bug,请添加 bug
标签;如果 PR 与文档相关,请添加 documentation
标签。这样,PR 可以轻松地被筛选。
最后,仔细填写模板并遵循指南。记住链接原始 issue 并启用允许维护者编辑的复选框,以便可以更新分支以进行合并。然后,点击“Create pull request”。
审查你的拉取请求¶
一旦您提交了 PR,团队成员将审查您的提案。我们可能会提出问题、请求更多信息或要求在合并 PR 之前进行更改,可以使用 建议的更改 或拉取请求评论。
您可以直接通过 UI 应用更改(查看已更改的文件并单击右角的三点,请参见下图)或从您的 fork 应用更改,然后将它们提交到您的分支。PR 将自动更新,建议将显示为已过时。
如果您遇到任何合并问题,请查看此 git 教程,以帮助您解决合并冲突和其他问题。
你的 PR 已合并!¶
恭喜 🎉🎊 感谢您 🤩
一旦您的 PR 被合并,您的贡献将在 Argilla GitHub 上公开可见。
此外,我们将根据我们的 开发分支 将您的更改包含在下一个版本中。
其他资源¶
以下是一些有用的资源供您参考。
- 配置 Discord,一本学习如何开始使用 Discord 的指南。
- Pro Git,一本学习 Git 的书。
- VSCode 中的 Git,一本学习如何在 VSCode 中轻松使用 Git 的指南。
- GitHub Skills,一个学习 GitHub 的互动课程。