Pull request 逐步指南#

贡献 PyMC 的首选工作流程是 fork GitHub 仓库,将其克隆到本地计算机,并在特性分支上进行开发。

步骤#

  1. 阅读 代码贡献的礼仪

  2. 通过点击主仓库页面右上角附近的“Fork”按钮,Fork 项目仓库。这将在您的 GitHub 用户账户下创建代码副本。

  3. 将您 Fork 的 PyMC 仓库从您的 GitHub 账户克隆到本地磁盘,并将基础仓库添加为远程仓库

    git clone git@github.com:<your GitHub handle>/pymc.git
    cd pymc
    git remote add upstream git@github.com:pymc-devs/pymc.git
    
  4. 创建一个 feature 分支来保存您的开发更改

    git checkout -b my-feature
    

    注意

    始终使用 feature 分支。永远不要在任何仓库的 main 分支上进行日常工作,这是一个良好的实践。

  5. 项目需求在 requirements.txt 中,用于开发的库在 requirements-dev.txt 中。设置开发环境最简单(也是推荐的)方法是通过 miniconda

    conda env create -f conda-envs/environment-dev.yml
    
    conda env create -f .\conda-envs\windows-environment-dev.yml
    
    conda env create -f conda-envs/windows-environment-dev.yml
    
    conda activate pymc-dev
    pip install -e .
    

    或者,您可以(可能在 虚拟环境 中)运行

    pip install -e .
    pip install -r requirements-dev.txt
    
  1. 在您的特性分支上开发功能。

    git checkout my-feature   # no -b flag because the branch is already created
    
  2. 在提交之前,运行 pre-commit 检查。

    pip install pre-commit
    pre-commit run --all      # 👈 to run it manually
    pre-commit install        # 👈 to run it automatically before each commit
    
  3. 使用 git add 添加更改的文件,然后使用 git commit 提交文件

    $ git add modified_files
    $ git commit
    

    以本地记录您的更改。

  4. 提交后,最好与基础仓库同步,以防有任何更改

    git fetch upstream
    git rebase upstream/main
    

    然后使用以下命令将更改推送到您 GitHub 账户中的 fork

    git push -u origin my-feature
    
  5. 转到您 Fork 的 PyMC 仓库的 GitHub 网页。点击“Pull request”按钮,将您的更改发送给项目的维护人员进行审核。这将向提交者发送通知。

    提示

    现在您的 PR 已准备就绪,请阅读 Pull request 检查清单,以确保其遵循最佳实践。