开发¶
如果您正在阅读本文,那么您一定已经为Odoo的代码库做出不少贡献,或者十分有兴趣了解如何贡献Odoo。无论您出于何种目的,能偶然来到这里,我们都将为您提供所需的信息!
更多内容
当您准备好了,欢迎阅读 环境设置 部分,开始您的Odoo开发贡献之旅。
环境设置¶
以下说明将帮助您准备您的环境以进行对代码库的更改,并推送它们到GitHub。如果您已经完成此步骤,请跳转到 做出您的第一个贡献 部分。
首先,你需要 创建一个GitHub账户 。Odoo使用GitHub来管理其产品的源代码,这是您将进行更改并提交给审核的场所。
转到 github.com/odoo/odoo 并在右上角点击 Fork 按钮以创建一个 fork (您自己的副本) 仓库。转到 github.com/odoo/enterprise 如果已经有访问权限。这会创建一个代码库的副本,您可以在此处进行更改,而不会影响主代码库。如果您是Odoo的worker,请跳过此步骤。
安装 Git。它是一款命令行(文本界面)工具,可以跟踪对文件所做更改的历史记录,更重要的是,可以同时处理该文件的不同版本。这意味着您在进行更改时,不必担心覆盖其他人尚未完成的工作。
验证 Git 的安装目录是否已包含在系统的
PATH变量中。参照 在 Linux 和 macOS 上更新 PATH 变量的指南,使用 Git 的安装路径(默认为
/usr/bin/git)。参照 在 Windows 上更新 PATH 变量的指南,使用 Git 的安装路径(默认为
C:\Program Files\Git)。配置 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 20,对应分支
20.0。从 20.0 分支创建一个新分支。在分支名前加上基础分支前缀:
20.0-...。如果你在 Odoo 工作,请在分支名后加上你的 Odoo 用户名后缀:20.0-...-xyz。示例
$ git switch -c 20.0-fix-invoices
$ git switch -c 20.0-fix-invoices-xyz
如果尚未签署,请 签署 Odoo CLA。如果你在 Odoo 工作,可跳过此步骤。
对代码库进行所需的更改。处理代码库时,请遵循以下规则:
提交您的更改。按照 Git 规范 中的说明编写清晰的提交信息。
$ git add . $ git commit
将更改推送到您的分叉仓库,我们已为其添加远程别名
dev。示例
$ git push -u dev 20.0-fix-invoices-xyz
在 GitHub 上发起 PR(拉取请求),提交您的更改以供审核。
根据您的更改所针对的代码库,访问 odoo/odoo 代码库的比较页面 或 odoo/enterprise 代码库的比较页面。
为基础分支选择 20.0。
点击 compare across forks。
为 head repository 选择 <your_github_account>/odoo 或 <your_github_account>/enterprise。将
<your_github_account>替换为您创建分叉的 GitHub 账户名称;如果您在 Odoo 工作,则替换为 odoo-dev。检查您的更改,然后点击 Create pull request 按钮。
勾选 Allow edits from maintainer 复选框。如果您在 Odoo 工作,请跳过此步骤。
填写描述,然后再次点击 Create pull request 按钮。
页面底部,检查合并状态并解决任何问题。
一旦你的 PR(拉取请求) 可以合并,Odoo 团队的成员就会被自动指派进行审查。如果审查者有疑问或意见,会以评论的形式提出,你会收到邮件通知。必须解决这些评论,贡献才能继续推进。
更改获得批准后,审核人员会将其合并,这些更改将在下一次代码更新后对所有 Odoo 用户可用!