💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Contribute to GitLab > 原文:[https://docs.gitlab.com/ee/development/contributing/](https://docs.gitlab.com/ee/development/contributing/) * [Security vulnerability disclosure](#security-vulnerability-disclosure) * [Code of conduct](#code-of-conduct) * [Closing policy for issues and merge requests](#closing-policy-for-issues-and-merge-requests) * [Helping others](#helping-others) * [How to contribute](#how-to-contribute) * [GitLab Development Kit](#gitlab-development-kit) * [Contribution flow](#contribution-flow) * [Issues workflow](#issues-workflow) * [Merge requests workflow](#merge-requests-workflow) * [Style guides](#style-guides) * [Implement design & UI elements](#implement-design--ui-elements) * [Contribute documentation](#contribute-documentation) * [Getting an Enterprise Edition License](#getting-an-enterprise-edition-license) # Contribute to GitLab[](#contribute-to-gitlab "Permalink") 感谢您有兴趣为 GitLab 做贡献. 本指南详细介绍了如何以每个人都容易的方式为 GitLab 做出贡献. For a first-time step-by-step guide to the contribution process, see our [Contributing to GitLab](https://about.gitlab.com/community/contribute/) page. 寻找工作吗? 有关更多信息,请参见[如何贡献](#how-to-contribute)部分. GitLab 有两种口味: * GitLab 社区版(CE),我们的免费和开源版本. * GitLab 企业版(EE),这是我们的商业版. 在本指南中,您将看到对 CE 和 EE 的缩写的引用. 要获得 GitLab 社区成员资格的概述,包括那些会审核或合并您的贡献的成员,请访问[社区角色页面](community_roles.html) . 如果您想知道 GitLab [核心团队的](https://about.gitlab.com/community/core-team/)运作方式,请参阅[GitLab 贡献过程](https://gitlab.com/gitlab-org/gitlab/blob/master/PROCESS.md) . GitLab Inc 工程师应参考[工程工作流程文档](https://about.gitlab.com/handbook/engineering/workflow/) . ## Security vulnerability disclosure[](#security-vulnerability-disclosure "Permalink") 将可疑的安全漏洞[秘密](https://about.gitlab.com/security/disclosure/)报告给`support@gitlab.com` ,另请参阅[GitLab.com 网站上的](https://about.gitlab.com/security/disclosure/) " [披露"部分](https://about.gitlab.com/security/disclosure/) . **危险:** **不要**为疑似安全漏洞公开可见的问题. ## Code of conduct[](#code-of-conduct "Permalink") 我们希望为每个有志于贡献的人营造一个温馨的环境. 请访问我们的[《行为准则》页面,](https://about.gitlab.com/community/contribute/code-of-conduct/)以了解有关我们对开放友好环境的承诺的更多信息. ## Closing policy for issues and merge requests[](#closing-policy-for-issues-and-merge-requests "Permalink") GitLab 是一个受欢迎的开源项目,处理问题和合并请求的能力有限. 出于对我们志愿者的尊重,不符合本文档所列准则的问题和合并请求可能会被关闭,恕不另行通知. 以礼貌和尊重的态度对待我们的志愿者,这将大大有助于您解决问题. 发行和合并请求应使用英语,并包含适合所有年龄段受众的语言. 如果贡献者不再主动处理提交的合并请求,我们可以: * 决定合并请求将由我们的[合并请求指导者之一完成](https://about.gitlab.com/company/team/) . * 关闭合并请求. 我们根据更改对我们的产品愿景的重要性来做出此决定. 如果合并请求教练将要完成合并请求,我们指定`~coach will finish`标签. 当团队成员选择社区贡献时,我们会通过添加一个记入作者的更改日志条目来记入原始作者,并有选择地将原始作者包括在 MR 中的至少一项提交中. ## Helping others[](#helping-others "Permalink") 可以的话,请帮助其他 GitLab 用户. 人们用于寻求帮助的方法可以在" [获得帮助"页面](https://about.gitlab.com/get-help/)上找到. 注册邮件列表,在 StackOverflow 上回答 GitLab 问题,或在 IRC 频道中回复. ## How to contribute[](#how-to-contribute "Permalink") 如果您想为 GitLab 做出贡献: * [`~Accepting merge requests`标签的问题](issue_workflow.html#label-for-community-contributors)是一个很好的起点. * 请查阅" [贡献流"](#contribution-flow)部分以了解该过程. 如果您有任何疑问或需要帮助,请访问" [获得帮助"](https://about.gitlab.com/get-help/)以了解如何与 GitLab 进行通信. 我们有一个[供参与者](https://gitter.im/gitlab/contributors)使用的[Gitter 通道](https://gitter.im/gitlab/contributors) ,但是相对于实时通信,我们更喜欢[异步](https://about.gitlab.com/handbook/communication/#internal-communication)通信. 感谢您的贡献! ### GitLab Development Kit[](#gitlab-development-kit "Permalink") GitLab 开发套件(GDK)可帮助贡献者使用所有必需的依赖项来运行本地 GitLab 实例. 在提出合并请求之前,它可以用于测试对 GitLab 和相关项目的更改. 有关更多信息,请参见[`gitlab-development-kit`](https://gitlab.com/gitlab-org/gitlab-development-kit)项目. ### Contribution flow[](#contribution-flow "Permalink") 对 GitLab 进行贡献的一般流程是: 1. [创建一个](../../user/project/repository/forking_workflow.html#creating-a-fork) GitLab [的叉子](../../user/project/repository/forking_workflow.html#creating-a-fork) . 在某些情况下,您将需要设置[GitLab 开发套件](https://gitlab.com/gitlab-org/gitlab-development-kit)以[针对 fork](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/index.md#develop-in-your-own-gitlab-fork)进行[开发](https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/master/doc/index.md#develop-in-your-own-gitlab-fork) . 2. 在叉子上进行更改. 3. 准备就绪后, [创建一个新的合并请求](../../user/project/merge_requests/creating_merge_requests.html) . 4. 在合并请求的描述中: * 确保您提供完整而准确的信息. * 查看提供的清单. 5. 将合并请求(如果可能)分配给相关项目的[代码所有者](../../user/project/code_owners.html)之一或`@mention` ,并说明您已准备好进行审查. 当您向 GitLab 提交代码时,我们真的希望它被合并! 但是,我们始终会仔细审查提交的内容,这需要时间. 合并之前,代码提交通常会由两位[领域专家](../code_review.html#domain-experts)进行审核: * A [reviewer](../code_review.html#the-responsibility-of-the-reviewer). * A [maintainer](../code_review.html#the-responsibility-of-the-maintainer). 提交合并请求时,请牢记以下几点: * 当审阅者阅读合并请求时,他们可能会要求其他审阅者提供指导. * 如果发现代码质量不符合 GitLab 的标准,则合并请求审阅者将提供指导,并将作者推荐给我们: * [文档](../documentation/styleguide.html)样式指南. * 代码样式指南. * 有时会遵循样式指南,但是代码将缺乏结构完整性,或者审阅者会对​​代码的整体质量有所保留. 如有保留,审阅者将通知作者并提供一些指导. * 尽管 GitLab 通常允许任何人表明对合并请求的[批准](../../user/project/merge_requests/merge_request_approvals.html) ,但是维护者在合并合并请求之前可能需要[获得某些审阅者的批准](../code_review.html#approval-guidelines) . * 审核后,可能会要求作者更新合并请求. 合并请求更新并重新分配给审阅者后,他们将再次审阅代码. 在合并之前,此过程可以重复任意次数,以帮助做出最佳的贡献. 有时,维护者可能会选择关闭合并请求. 他们将充分披露为什么不合并的原因以及一些指导. 维护人员将公开讨论如何更改代码,以便将来可以批准和合并. manbetx 客户端打不开将尽其所能尽快审查社区贡献. 专门任命的开发人员每天审查社区贡献. 在[团队页面上](https://about.gitlab.com/company/team/)查看合并请求指导者,他专门研究您编写的代码类型,并在合并请求中提及他们. 例如,如果您编写了一些前端代码,则应`@mention`前端合并请求指导程序. 如果您的代码具有多个学科,则可以`@mention`多个合并请求指导. GitLab 收到了很多社区的贡献. 如果您的代码在其初次提交后的两个工作日内仍未得到审查,请`@mention`与`@gitlab-org/coaches`合并的所有请求`@gitlab-org/coaches`引起他们的注意. 在向 GitLab 提交代码时,您可能会觉得您的贡献需要外部库的帮助. 如果您的代码包含外部库,请提供该库的链接,以及包含该库的原因. `@mention`维护者在合并请求中包含: * 超过 500 种变化. * 任何重大变化. * 外部库. 如果您不确定要提及谁,则审阅者将在合并请求过程的早期为您完成此操作. #### Issues workflow[](#issues-workflow "Permalink") This [documentation](issue_workflow.html) outlines the current issue workflow: * [Issue tracker guidelines](issue_workflow.html#issue-tracker-guidelines) * [Issue triaging](issue_workflow.html#issue-triaging) * [Labels](issue_workflow.html#labels) * [Feature proposals](issue_workflow.html#feature-proposals) * [Issue weight](issue_workflow.html#issue-weight) * [Regression issues](issue_workflow.html#regression-issues) * [Technical and UX debt](issue_workflow.html#technical-and-ux-debt) * [Technical debt in follow-up issues](issue_workflow.html#technical-debt-in-follow-up-issues) #### Merge requests workflow[](#merge-requests-workflow "Permalink") 本[文档](merge_request_workflow.html)概述了当前的合并请求过程. * [Merge request guidelines](merge_request_workflow.html#merge-request-guidelines) * [Contribution acceptance criteria](merge_request_workflow.html#contribution-acceptance-criteria) * [Definition of done](merge_request_workflow.html#definition-of-done) * [Dependencies](merge_request_workflow.html#dependencies) ## Style guides[](#style-guides "Permalink") 本[文档](style_guides.html)概述了当前的样式准则. ## Implement design & UI elements[](#implement-design--ui-elements "Permalink") 本[设计文档](design.html)概述了实现设计和 UI 元素的当前过程. ## Contribute documentation[](#contribute-documentation "Permalink") 有关如何编写文档的信息,请参见 GitLab [文档指南](../documentation/index.html) . ## Getting an Enterprise Edition License[](#getting-an-enterprise-edition-license "Permalink") 如果您需要用于贡献 EE 功能的许可证,请参阅[相关信息](https://about.gitlab.com/handbook/marketing/community-relations/code-contributor-program/#for-contributors-to-the-gitlab-enterprise-edition-ee) .