如何在 github 上提交 PR(Pull Request)
原文地址 cloud.tencent.com
github 上有很多优秀的开源项目,很多时候我们不仅仅只是满足于使用,同时也想一起参与开源项目的开发,贡献自己的代码。
github
上有很多优秀的开源项目,很多时候我们不仅仅只是满足于使用,同时也想一起参与开源项目的开发,贡献自己的代码。今天这篇文章就给大家介绍一下如何在 github
上提交 PR
,让我们一起为开源社区做贡献。
fork 你要参与的项目
在 github
上找到你想要参与的开源项目 (这里以 ant-design
为例),然后点击右上角的 fork
按钮,就会在你自己的代码仓库中创建一个此开源项目的副本,后续所有代码提交都提交到此仓库,这样就不必担心未经审核的代码弄乱了原始仓库。
完成了 fork 步骤后,会在自己的代码仓库中创建一个你想参与的开源项目的副本。
克隆新仓库到本地
执行 git clone
命令,将此副本 clone
到本地 (推荐使用 ssh 的形式,可以避免输入用户名和密码)。
git clone git@github.com:astonishqft/ant-design.git
修改代码并提交
创建一个本地分支,并进行代码修改:
git checkout -b dev origin/master
修改完毕后,提交变更的代码:
git add xxx
git commit -m 'xxx提交'
git push -u orign dev:master
到这里代码已经顺利修改完毕,并且已经提交到了你 fork
的仓库中,理论上已经可以提交 PR
了。但是需要考虑到在你修改代码的过程中,可能开源仓库也在同步提交代码,所以在提交 PR 之前需要做一次代码同步操作。
使用 git remote
命令建立原始仓库与本地仓库之间的链接。
git remote add upstream git@github.com:ant-design/ant-design.git
执行 git fetch upstream
命令将远程主机的更新获取到本地。
执行 git rebase
命令合并更新。git rebase
和 git merge
的区别是 git rebase
形成的是一条线,这里推荐大家使用 git rebase
命令。
git rebase upstream/master
如何遇到冲突,解决完冲突后执行下面的命令。
git add 冲突的文件
git rebase --continue
到这里,PR
之前的准备工作就全部完成了,可以进行 PR
操作了。
提交 PR
打开 github 上 fork 的开源项目,创建一个 pull request。
到这里整个流程就结束了,下面就是耐心等待 matainer 的审核即可。
有时会报DCO错误,
git rebase HEAD~1 --signoff
git push --force-with-lease origin master