拉取请求步骤详解#
为 PyMC 贡献的首选工作流程是 fork GitHub 仓库,将其克隆到您的本地机器,并在一个功能分支上进行开发。
步骤#
阅读 代码贡献礼仪。
通过点击主仓库页面右上角的’Fork’按钮,分叉 项目仓库。这将创建一份代码副本到你的GitHub用户账户下。
将您在 GitHub 账户上的 PyMC 仓库分支克隆到本地磁盘,并将基础仓库添加为远程仓库:
git clone git@github.com:<your GitHub handle>/pymc.git cd pymc git remote add upstream git@github.com:pymc-devs/pymc.git
创建一个
feature
分支来保存你的开发更改:git checkout -b my-feature
注意
始终使用
feature
分支。在任何仓库的main
分支上常规工作从来都不是一个好的做法。项目需求在
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
在您的特性分支上开发该特性。
git checkout my-feature # no -b flag because the branch is already created
在提交之前,运行
pre-commit
检查。pip install pre-commit pre-commit run --all # 👈 to run it manually pre-commit install # 👈 to run it automatically before each commit
使用
git add
添加更改的文件,然后使用git commit
提交文件:$ git add modified_files $ git commit
在本地记录您的更改。
提交后,与基础仓库同步是一个好主意,以防有任何更改:
git fetch upstream git rebase upstream/main
然后使用以下命令将更改推送到您GitHub账户中的分支:
git push -u origin my-feature
转到您在 GitHub 上的 PyMC 仓库分支页面。点击 ‘Pull request’ 按钮将您的更改发送给项目维护者进行审核。这将向提交者发送通知。
小技巧
现在你的PR已经准备好了,阅读 拉取请求检查清单 以确保它遵循最佳实践。