开发¶
如果您正在阅读本文,很可能您对如何为 Odoo 的代码库做出贡献感兴趣。无论是这种情况还是您偶然来到这里,我们都会为您提供帮助!
当您准备就绪时,请跳转到 环境设置 部分,开始您的 Odoo 开发贡献之旅。
环境设置¶
以下说明将帮助您准备环境,以便对代码库进行本地更改并将其推送到 GitHub。如果您已完成此步骤,请跳过本节并前往 进行您的第一次贡献 。
首先,您需要 创建一个 GitHub 帐户 。Odoo 使用 GitHub 管理其产品的源代码,这也是您进行更改并提交审核的地方。
前往 github.com/odoo/odoo 并点击右上角的 Fork 按钮,在您的帐户上创建该存储库的一个分支(即您自己的副本)。如果可以访问,请对 github.com/odoo/enterprise 执行相同操作。这将创建代码库的一个副本,您可以在其中进行更改而不会影响主代码库。如果您在 Odoo 工作,请跳过此步骤。
安装 Git 。它是一个命令行工具( 文本界面 ),可以跟踪文件更改的历史记录,并且更重要的是,可以同时处理该文件的不同版本。这意味着在进行更改时,您无需担心会覆盖其他人的未完成工作。
确保 Git 的安装目录已包含在系统的
PATH
变量中。请按照 在 Linux 和 macOS 上更新 PATH 变量的指南 ,将 Git 的安装路径(默认为
/usr/bin/git
)添加到 PATH 变量中。请按照 在 Windows 上更新 PATH 变量的指南 ,将 Git 的安装路径(默认为
C:\Program Files\Git
)添加到 PATH 中。配置 Git 以将您标识为未来贡献的作者。输入您在 GitHub 注册时使用的电子邮件地址。
$ git config --global user.name "Your Name" $ git config --global user.email "youremail@example.com"
从源代码安装 Odoo 。确保通过 Git 使用 SSH 获取源代码。
配置 Git 将更改推送到您的分支,而不是主代码库。如果您在 Odoo 工作,请配置 Git 将更改推送到 odoo-dev 帐户上创建的共享分支。
在以下命令中,将
<your_github_account>
替换为您创建分支仓库的 GitHub 帐户名称。$ cd /CommunityPath $ git remote add dev git@github.com:<your_github_account>/odoo.git
如果您有访问
odoo/enterprise
的权限,请同时配置相关的远程仓库。$ cd /EnterprisePath $ git remote add dev git@github.com:<your_github_account>/enterprise.git
$ cd /CommunityPath $ git remote add dev git@github.com:odoo-dev/odoo.git $ git remote set-url --push origin you_should_not_push_on_this_repository $ cd /EnterprisePath $ git remote add dev git@github.com:odoo-dev/enterprise.git $ git remote set-url --push origin you_should_not_push_on_this_repository
就是这样!您已经准备好 进行第一次贡献 。
进行您的第一次贡献¶
重要
现在您的环境已经设置好了,您可以开始为代码库做出贡献了。在终端中,导航到您从源代码安装 Odoo 的目录,并按照以下指南操作。
选择您要更改的 Odoo 版本。请注意,针对 不受支持的 Odoo 版本 的贡献将不被接受。本指南假定更改目标是 Odoo 18,对应分支为
18.0
。从分支 18.0 创建一个新分支。分支名称前缀为基分支:
18.0-...
。如果您在 Odoo 工作,请在分支名称后缀上添加您的 Odoo 用户名:18.0-...-xyz
。Example
$ git switch -c 18.0-fix-invoices
$ git switch -c 18.0-fix-invoices-xyz
如果尚未完成,请 签署 Odoo CLA 。如果您在 Odoo 工作,请跳过此步骤。
对代码库进行所需的更改。在处理代码库时,请遵循以下规则:
提交您的更改。按照 Git 指南 的说明编写清晰的提交信息。
$ git add . $ git commit
将您的更改推送到分支,我们为其添加了远程别名
dev
。Example
$ git push -u dev 18.0-fix-invoices-xyz
在 GitHub 上打开一个 PR(拉取请求) ,以提交您的更改供审核。
根据您的更改目标,前往 odoo/odoo 代码库的比较页面 或 odoo/enterprise 代码库的比较页面 。
选择 18.0 作为基础版本。
点击 跨分支比较 。
选择 <your_github_account>/odoo 或 <your_github_account>/enterprise 作为头仓库。将
<your_github_account>
替换为您创建分支的 GitHub 帐户名称,或者如果您在 Odoo 工作,则替换为 odoo-dev 。检查您的更改并点击 创建拉取请求 按钮。
勾选 允许维护者编辑 复选框。如果您在 Odoo 工作,请跳过此步骤。
完成描述并再次点击 创建拉取请求 按钮。
在页面底部,检查可合并状态并解决任何问题。
一旦您的 PR(拉取请求) 准备好合并,Odoo 团队的一名成员会自动分配进行审核。如果审核人员有任何问题或意见,他们会以评论的形式发布,您将通过电子邮件收到通知。这些评论必须解决,以便贡献能够继续推进。
一旦您的更改获得批准,审核人员将合并它们,并在下次代码更新后,所有 Odoo 用户都可以使用这些更改!