FastGPT 系统工具开发指南
https://doc.fastgpt.cn/docs/guide/plugins/dev_system_tool/
想成为 FastGPT 插件的顶级贡献者吗?labring/fastgpt-plugin 开源项目正在寻找热情的开发者加入,共同打造更强大的 AI 插件生态。 我们准备了一份保姆级的贡献指南,即使是新手也能轻松上手。
Fork 仓库
① 登录 GitHub: 登录 GitHub 账号,假设你的用户名是 your-username。
② 找到原始仓库: 在 GitHub 上找到 labring/fastgpt-plugin 仓库。
https://github.com/labring/fastgpt-plugin
③ Fork 仓库: 点击页面右上角的 "Fork" 按钮。 这会将 labring/fastgpt-plugin 复制到你的 GitHub 账号下,成为 your-username/fastgpt-plugin。
Clone 你的 Fork
现在,将你的 fork 仓库克隆到你的本地计算机。
① 获取 Clone URL:点击 "Code" 按钮,复制仓库的 HTTPS 或 SSH URL。
② 打开终端/命令行
③ 使用 git clone 命令
#将仓库克隆到你本地计算机的 fastgpt-plugin 文件夹中。将 URL 替换为你实际的仓库 URL。git clone https://github.com/your-username/fastgpt-plugin.git#进入克隆下来的仓库目录cd fastgpt-plugin
配置Upstream 远程仓库
为了保持你的 fork 仓库与原始仓库同步,你需要添加一个指向原始仓库的远程仓库,命名为 upstream。
git remote add upstream https://github.com/labring/fastgpt-plugin.git
保持你的 Fork 和上游仓库同步
在开始修改之前,先同步你的 fork 仓库,防止出现冲突。注意:fastgpt-plugin项目的主分支是 main 分支。
如果想保持 commit 历史的简洁,推荐使用Rebase:
# 推荐使用 git pull upstream main --rebase# 从远程仓库 upstream 的 main 分支拉取最新代码,并以变基(rebase)方式整合到当前本地分支git pull upstream main --rebase# 该命令等效于以下两步操作:# git fetch upstream# git rebase upstream/main
创建新的分支
为你的更改创建一个新的分支,不要直接在 main 分支上进行修改。
创建并切换到名为 feature/your-feature 的新分支并跟踪远程 upstream/main 分支设置跟踪后,后续在该分支上可直接使用 git pull 命令同步 upstream/main 的最新代码变更git checkout -b feature/your-feature --track upstream/main
创建并切换到一个名为 feature/your-feature 的新分支。 将 your-feature 替换为你实际的功能或修复的名称,只要它符合 Git 的分支命名规则(通常不能包含空格或特殊字符,最好使用小写字母、数字和连字符)。 良好的分支命名可以提高可读性。
|
命名 |
含义 |
举例 |
|
feature/ |
新的功能开发 |
feature/add-user-authentication |
|
bugfix/ 或 fix/ |
修复 Bug |
bugfix/resolve-memory-leak |
|
hotfix/ |
紧急修复,通常是直接从 main 分支拉取 |
hotfix/critical-security-vulnerability |
|
refactor/ |
代码重构 |
refactor/database-schema-optimization |
|
docs/ |
文档更新 |
docs/update-api-documentation |
|
test/ |
测试相关 |
test/add-unit-tests-for-user-service |
进行修改
把刚才创建的名为fastgpt-plugin的文件拖到IDE中,你就可以开始在你刚刚创建的分支上进行修改了。
① 编辑文件: 使用你喜欢的文本编辑器或 IDE 修改项目中的文件。
FastGPT 系统工具开发指南
https://doc.fastgpt.cn/docs/guide/plugins/dev_system_tool/
把刚才创建的名为fastgpt-plugin的文件拖到IDE中,你就可以开始在你刚刚创建的分支上进行修改了。
② 保存更改:保存你所做的更改。
添加更改到暂存区
使用【 git add 】命令将所有修改过的、新增的、以及删除的文件添加到暂存区(Staging Area)。 暂存区可以理解为是准备提交到本地仓库的一个缓冲区。 也可以使用 git add <文件名> 来添加特定的文件。
【.】是一个通配符,表示当前目录下的所有文件和文件夹(包括子目录)。 如果你只想添加特定的文件,可以使用文件名代替 .,比如 git add README.md。
git add .
提交更改
使用 git commit 命令提交你的更改
"git commit -m "Add your feature/fix":会将暂存区中的所有更改保存到本地仓库,并创建一个新的提交对象。 将 "Add your feature/fix" 替换为你具体的提交信息。强烈建议你修改这个消息,改成更具描述性的内容!
git commit -m "Add your feature/fix"
建议: 提交消息应该简短、清晰、并具有描述性,避免使用笼统的提交消息,尽量说明你做了什么,为什么要这样做,常见的提交消息格式是:
"feat: 添加用户登录功能""fix: 修复注册页面样式问题""docs: 更新 API 文档"
推送你的分支到 GitHub
将你的本地分支推送到你的 fork 仓库。
git push origin feature/your-feature
origin: 远程仓库的名称。 origin 通常是你克隆仓库时 Git 自动创建的,指向原始仓库(或者你的 fork 仓库)。
举例:
假设你创建了一个名为 feature/add-payment-gateway 的本地分支,并在该分支上进行了一些开发和提交。
执行 git push origin feature/add-payment-gateway 后,Git 会将你本地 feature/add-payment-gateway 分支上的所有提交推送到 origin 远程仓库,并在 origin 上创建一个名为 feature/add-payment-gateway 的分支(如果该分支不存在)。
创建 Pull Request
① 打开你的 Fork 仓库: 在 GitHub 上打开你的 fork 仓库 (your-username/fastgpt-plugin)。
② 创建 Pull Request: 你应该会看到一个提示,说你最近推送了一个新的分支。 点击 "Compare & pull request" 按钮。 如果没有看到提示,可以点击 "Pull requests" 选项卡,然后点击 "New pull request" 按钮。
③ 选择分支:确保你的 feature/your-feature 分支与原始仓库的 main 分支进行比较。
填写信息: 填写 Pull Request 的标题和描述,说明你的更改内容。
提交 Pull Request: 点击 "Create pull request" 按钮。
恭喜! 你已经成功地向 labring/fastgpt-plugin 开源项目提交了 Pull Request。 现在,等待原始仓库的维护者审核你的代码并合并你的 Pull Request。接下来,你需要耐心等待原始仓库的维护者审核你的代码。 请务必关注你的 Pull Request 页面和你的邮箱,及时处理审核者的评论并根据反馈修改代码。 代码审核是一个迭代的过程,你需要积极参与并与审核者进行沟通,最终获得代码合并。 (详细流程见步骤 11)
等待审核和处理反馈
提交 Pull Request 后,接下来就是等待原始仓库的维护者或审核者 review 你的代码。 这是一个非常重要的环节,你需要积极参与并及时响应。
① 等待审核:
• 审核的时间长短取决于项目的活跃程度、审核者的忙碌程度以及你的代码的复杂程度。
•请耐心等待,并随时关注你的 Pull Request。
•GitHub 会通过邮件通知你 PR 的状态更新,例如有人添加了评论。
② 查看和处理评论:
邮件通知
GitHub 会发送邮件通知你有关 PR 的更新,包括新的评论。
页面介绍
Pull Request 页面:查看审核者的评论。
Files changed 页面:点击 "Files changed" 选项卡,查看带有评论的代码行。
Overview 页面:"Conversation" 部分会显示所有的评论和讨论。
理解评论
仔细阅读审核者的评论,理解他们的意图。 评论可能包括:
问题:询问代码的逻辑、实现方式等方面的问题。
建议:提出改进代码的建议,例如优化算法、修改命名、添加注释等。
错误:指出代码中存在的错误,例如 Bug、潜在的安全问题等。
风格:指出代码风格不符合项目规范的地方。
回复评论
对于每个评论,都应该进行回复,表达你的理解和回应。
解决评论
当你完成了对某个评论的修改,并且审核者也认可了你的修改,可以点击评论旁边的 "Resolve conversation" 按钮,将该评论标记为已解决。 未解决的评论可能会阻止 PR 被合并。
③ 修改代码:
根据审核者的反馈,你需要修改本地的代码。
• 切换到本地分支: 确保你当前位于你的 feature 分支上 (git checkout feature/your-feature)。
• 修改代码: 使用你喜欢的编辑器或 IDE 修改代码。
• 添加更改到暂存区: 使用 git add . 命令将你的更改添加到暂存区。
• 提交更改: 使用 git commit -m "Fix: [简要描述修改内容]" 命令提交你的更改。 请务必编写清晰、描述性的提交信息,说明你解决了哪些评论,如何解决的。 例如:"Fix: Resolved feedback from @reviewer about missing input validation. See conversation in PR #82."
• 推送更改: 使用 git push origin feature/your-feature 命令将你的本地分支推送到 GitHub 上的 fork 仓库。
• GitHub 会自动更新 Pull Request: 你不需要手动更新 Pull Request。 当你推送新的更改后,GitHub 会自动将这些更改添加到现有的 PR 中,并更新 PR 的状态。
④ 持续迭代和沟通: 代码审核是一个迭代的过程。尽快回复审核者的评论,避免 PR 停滞不前。尽量将每个 PR 的范围控制在较小的范围内。
⑤ Pull Request 被合并 /关闭:
• 合并: 当所有的问题都得到解决,并且审核者批准了你的 PR,仓库的维护者就可以将你的代码合并到目标分支(通常是 main 或 dev 分支)。
• 关闭: 在某些情况下,PR 可能不会被合并。 例如,如果你的代码不符合项目的目标,或者如果已经有其他 PR 实现了相同的功能。 如果你的 PR 被关闭,不要灰心,这并不意味着你的代码不好。 你可以从中学到很多东西,并尝试为其他项目做出贡献。
总结
完整命令总结:
恭喜你已经学习了如何向 labring/fastgpt-plugin 这样的开源项目贡献代码的完整流程。你的每一次贡献都有助于让 labring/fastgpt-plugin 项目变得更好。
现在就去 Fork 仓库:https://github.com/labring/fastgpt-plugin,开始你的开源之旅吧!
公众号丨 Fast 研习社
公众号丨 环界云计算

