Skip to content

贡献指南

Keldos edited this page Mar 27, 2023 · 15 revisions

感谢您对 川虎ChatGPT 的关注!我们欢迎您为项目作出贡献!

如果您具备一定能力,可以修改本项目的源代码,并提交一个 pull request。下面的章节将会对这一过程展开具体介绍,请您务必在贡献前完整阅读以下内容。我们假设您已经基本了解 git 和 GitHub 的工作流程。

(由于 Copilot For Pull Requests 还没正式发布,所以请务必看看这部分内容QAQ)

(本文未写完,如有疑问请询问Keldos)

开始之前

在一切开始前,请您先检查 您想要解决的问题您想要新增的功能 等是否在某个 issue 或 pull request 或 discussion 提被到过。如果有,请先阅读我们团队的反馈,并以此确定您是否该投入开发(当然,您也可以在原始会话下留言)。这可以避免重复的工作,并确保在解决问题时不会犯同样的错误。

如果没人提到过,您可以选择采用以下任意一种方式来以声明您正着手解决 您想要解决的问题 或 您正着手开发 您想要新增的功能

  • 使用 功能请求 模板提交一个 issue,勾选 我愿意协助开发! 复选框,并在 issue 中给出更多您的开发思路和信息。(当您还没尝试开发时)
  • 提交一个 draft pull request,除了写明相关 pull request 信息外,您还需要给出您的开发进度,还需要进行的工作等。(当您已经进行过更改并产生过 commit 时)

克隆项目

对于开发者,在克隆本项目之前,我们建议您先fork一份到自己的GitHub账号下,这样您就可以在自己的账号下对项目做出贡献,同时也方便我们对您的贡献进行审核和合并:

  1. 打开 川虎ChatGPTGitHub页面,点击“Fork”按钮将项目fork到您的账号下。
  2. 将您账户下的fork仓库 clone 到本地:
    git clone https://github.com/<your-username>/ChuanhuChatGPT.git
    cd ChuanhuChatGPT

做出贡献

  1. 创建一个新的分支,并将HEAD指向该分支:

    git checkout -b <new-branch-name>
    

    其中new-branch-name为新分支的名称。您可以语义化的名称,例如:fixUI、addArg等。

  2. 在该分支上进行代码修改和提交:

    当您完成开发与修改后,使用以下命令提交您的更改:

    git add <some-file>
    git commit -m "Your commit message"
  3. 将更改推送到GitHub:

    push之前,您应当再手动尝试拉取一下本项目的main分支以更新您的分支。请阅读新的提交,并检查是否可能存在与您的提交的冲突(如有,请解决)。请最好使用 pull --rebase 命令变基您自己的分支来同步上游仓库的更新,以避免产生过多的merge信息:

    git pull https://github.com/GaiZhenbiao/ChuanhuChatGPT.git main --rebase

    然后push:

    git push

    现在,您将能根据GitHub的提示,创建并提交一个 pull request。

提交拉取请求

在提交 pull request 之前,请确保:

  1. 您的代码符合项目的编码规范和标准。
  2. 在提交拉取请求之前,您已经从主分支中更新您的工作分支。
  3. 您的代码不会破坏项目的现有功能或引入新的错误。
  4. 您自己进行过简单的测试,确保您的更改不会引入意外的bug。
  5. commit时提供了有意义的提交消息和说明,以便其他贡献者可以理解您的更改。

如果您确保代码没有问题,欢迎提交一个 pull request:

拉取请求模板

我们建议使用拉取请求模板来帮助您创建高质量的拉取请求。(Copilot For Pull Requests还没出现,别急)请使用以下模板:

## 描述

描述您的pull request所做的更改。
另外请附上您更改的东西运行时在网页中的截图。

## 相关问题

(如有)请列出与此拉取请求相关的问题编号。

## 更改类型

请指明适用于此拉取请求的更改类型:

- 新功能
- 修复错误
- 代码重构
- 文档
- 其他(请您写一下具体类型,但需要符合开发人员常见的规划。)

## 补充信息

请提供任何其他信息或说明,有助于其他贡献者理解您的更改。

如果您提交的是draft pull request,也请在这里写明开发进度。例子:

- [x] 已经做好的事情1
- [ ] 还要干的事情1
- [ ] 还要干的事情2

拉取请求的合并

所有 pull request 都需要被项目管理者审核和接受才能合并到主分支中。如果您的拉取请求需要进行更改,请根据反馈信息进行修改,并再次提交拉取请求。同时,我们也可能直接向您的分支进行提交并产生更改。

许可证

通过提交拉取请求,您同意将您的贡献授予该项目的许可证下,以供所有人自由使用、修改和分发。

Clone this wiki locally