GitHub Pull Requests指南-命令版
若您熟练掌握Git与Github基础用法但对Pull Requests(PR)操作流程感到陌生,那么非常建议您直接参考该版本PR教程完成开源项目贡献操作。
若需要使用Pycharm进行快速PR可参考:https://blog.csdn.net/qq_44183661/article/details/114665668
Step 1 Fork目标项目
Step 2 获取Fork后的GitHub项目链接
打开Fork后的GitHub项目页面并点击“Code”按钮,获取该Repo的Git地址。
Step 3 在本地Clone该项目
>>> git clone https://github.com/GT-ZhangAcer/TestPR.git
Step 4 切换到远程分支develop
>>> git checkout develop
Step 5 基于远程分支develop新建本地分支new-feature
>>> git checkout -b new-feature
添加该分支后,我们就可以愉快的撰写代码啦!
Step 6 安装pre-commit
pre-commit工具来管理Git预提交钩子。它可以帮助我们格式化源代码Python,在提交(commit)前自动检查一些基本事宜(如每个文件只有一个 EOL,Git 中不要添加大文件等)。pre-commit测试是 Travis-CI 中单元测试的一部分,不满足钩子的PR不能被提交到Paddle,首先安装并在当前目录运行它。
>>> pip install pre-commit
>>> pre-commit install
Step 7 在new-feature分支上开发你的需求,提交你的更改
>>> git commit -m "add new feature"
若您在需要向目标开源项目以子模块形式进行提交,那么我们需要在执行上方命令前向本项目中添加子模块。
>>> git submodule add 自己项目的地址 存放路径
示例:git submodule add https://github.com/GT-ZhangAcer/xxx.git sub_module
Step 8 确认本地代码处于最新状态
在准备发起Pull Request之前,需要同步原仓库最新的代码。
通过 git remote 查看当前远程仓库的名字。
>>> git remote
origin
>>> git remote -v
origin https://github.com/USERNAME/TestPR (fetch)
origin https://github.com/USERNAME/TestPR (push)
这里 origin 是刚刚我们Fork的TestPR项目,接下来连接主项目并增加其更新入口。
>>> git remote add ori Fork前原项目的GitHub链接
>>> git remote
origin
ori
获取 ori 的最新代码并更新当前分支。
>>> git fetch ori
>>> git pull ori develop
推送本地分支new-feature到自己的仓库
>>> git push origin new-feature
Step 9 在GitHub上提交PR
回到刚刚Fork后的GitHub项目页面,点击出现的”Compare & pull request”按钮即可开始PR操作。
End
在提交PR后将会有Reviewers对提交的代码进行审阅,如需修改代码重新提交可从Step 7开始修改并完成后续步骤,这样即可在原PR请求基础上进行更新。