開發?

如果您正在閱讀這篇文章,很可能是因為您有興趣學習如何為Odoo的代碼庫做出貢獻。無論是這種情況還是您偶然來到這里,我們都會為您提供幫助!

當你準備好了,跳轉到 環境設置 部分,開始你的Odoo開發貢獻之旅。

環境設置?

下面的說明幫助您準備環境,以便在本地更改代碼庫,然后將其推送到GitHub。如果您已經完成此步驟,請跳過此部分并轉到: 進行你的第一次貢獻 。

  1. 首先,您需要 創建一個GitHub賬戶。Odoo使用GitHub來管理其產品的源代碼,這是您進行更改并提交審核的地方。

  2. 生成新的SSH密鑰并在您的GitHub帳戶上注冊.

  3. 前往 github.com/odoo/odoo,點擊右上角的 Fork 按鈕,創建一個分支( 你自己的副本 )到你的賬戶中。如果你有權限,也可以在 github.com/odoo/enterprise 上進行同樣的操作。這樣就創建了一個代碼庫的副本,你可以在其中進行修改而不會影響主代碼庫。如果你在Odoo工作,則跳過此步驟。

  4. 安裝 Git。它是一個命令行( 文本界面 )工具,允許跟蹤文件的更改歷史,更重要的是,同時處理該文件的不同版本。這意味著在進行更改時,您不需要擔心覆蓋其他人的待處理工作。

    請確認 Git 的安裝目錄已經包含在您系統的 PATH 變量中。

    按照 在Linux和macOS上更新PATH變量的指南,將Git的安裝路徑(默認為 /usr/bin/git )添加到PATH變量中。

  5. 配置 Git 以標識您為將來貢獻的作者。輸入您在 GitHub 注冊時使用的相同電子郵件地址。

    $ git config --global user.name “Your Name”
    $ git config --global user.email “youremail@example.com”
    
  6. 從源代碼安裝Odoo 。確保通過SSH使用Git獲取源代碼。

  7. 配置 Git 將更改推送到您的 fork 而不是主代碼庫。如果您在 Odoo 工作,請配置 Git 將更改推送到帳戶 odoo-dev 創建的共享 fork。

    在下面的命令中,將 <your_github_account> 替換為您創建 fork 的 GitHub 賬戶名。

    $ git remote add dev git@github.com:<your_github_account>/odoo.git
    

    如果您可以訪問 odoo/enterprise ,也要配置相關的遠程倉庫。

    $ git remote add dev git@github.com:<your_github_account>/enterprise.git
    
  8. 就這樣!你已經準備好了,可以 做出你的第一次貢獻 。

進行你的第一次貢獻?

重要

  • 對于初學者來說,Odoo開發可能會有一定的挑戰性。我們建議您在貢獻之前掌握足夠的知識,能夠編寫一個小模塊。如果不是這種情況,請花些時間閱讀 開發者教程 來填補空白。

  • 本指南的某些步驟需要您熟悉 Git。如果您在某些地方卡住了,這里有一些 教程 和一個 交互式培訓。

現在您的環境已經設置好,您可以開始為代碼庫做出貢獻。在終端中,導航到您從源代碼安裝Odoo的目錄,并按照下面的指南操作。

  1. 選擇要更改的Odoo版本。請記住,針對 Odoo的不支持版本 的貢獻不會被接受。本指南假定更改針對的是Odoo 16,對應分支為 16.0 。

  2. 從分支16.0開始創建一個新分支。將分支名稱前綴設置為基礎分支: 16.0-... 。如果您在Odoo工作,請在分支名稱后綴中添加您的Odoo句柄: 16.0-...-xyz 。

    Example

    $ git switch -c 16.0-fix-invoices
    
    $ git switch -c 16.0-fix-invoices-xyz
    
  3. 如果還沒有簽署Odoo CLA,請簽署。如果您在Odoo工作,則可以跳過此步驟。

  4. 對代碼庫進行所需的更改。在處理代碼庫時,請遵循以下規則:

    • 保持你的修改專注和具體。最好一次只處理一個特定的功能或錯誤修復,而不是同時處理多個不相關的修改。

    • 在除了 master 分支之外的其他分支工作時,請遵守 穩定策略 <https://github.com/odoo/odoo/wiki/Contributing#what-does-stable-mean>`_。

    • 遵循 編碼準則 。

    • 徹底測試您的更改,并 編寫測試 以確保一切按預期工作,沒有回歸或意外后果。

  5. 提交你的更改。按照 Git 指南 的指示編寫清晰的提交信息。

    $ git add .
    $ git commit
    
  6. 將您的更改推送到您的分支,我們為其添加了遠程別名 dev 。

    Example

    $ git push -u dev 16.0-fix-invoices-xyz
    
  7. 在GitHub上打開一個 PR ,提交您的更改以供審核。

    1. 前往 odoo/odoo 代碼庫的比較頁面,或者 odoo/enterprise 代碼庫的比較頁面,具體取決于您的更改目標是哪個代碼庫。

    2. 選擇 16.0 作為基礎版本。

    3. 點擊 比較分支 。

    4. 選擇 <your_github_account>/odoo<your_github_account>/enterprise 作為主倉庫。將 <your_github_account> 替換為您在 GitHub 上創建 fork 的賬戶名,或者如果您在 Odoo 工作,則替換為 odoo-dev 。

    5. 請檢查您的更改,然后單擊 創建拉取請求 按鈕。

    6. 勾選 允許維護者編輯 復選框。如果您在Odoo工作,則跳過此步驟。

    7. 完善描述后再次點擊 創建拉取請求 按鈕。

  8. 在頁面底部,檢查合并狀態并解決任何問題。

  9. 一旦您的 PR 準備好合并,Odoo 團隊的成員將自動分配進行審核。如果審核人員有問題或者意見,他們會在評論中發表,您將通過電子郵件收到通知。這些評論必須解決,以便貢獻能夠繼續前進。

  10. 一旦您的更改得到批準,審核將合并它們,然后在下一次代碼更新后,它們將對所有Odoo用戶可用!