贡献 Pull Request 的流程

再开始做出贡献之前,建议先去 antd 官网的参考一下项目的贡献流程
Ant-design 的代码目前全部开源在 GitHub,遵循 MIT 开源协议。如果想为 antd 贡献自己的代码需要做以下几方面的工作:

1、拷贝 fork 过来的项目

先将antd的代码 fork 一份到自己的仓库,然后 clone 下来,并添加主代码库:

  1. // 将 fork 过来的仓库 clone 到本地
  2. // clone 速度太慢可以尝试配置代理
  3. git clone https://github.com/{username}/ant-design.git
  4. cd ant-design
  5. // 添加主代码库
  6. git remote add upstream https://github.com/ant-design/ant-design.git

2、分支管理

antd 的贡献流程里面有提过:修复 bug 反馈到 master 分支;新增 feature 反馈到 feature 分支
基于我们之前有添加主仓库,如果我们想与主仓库对应的分支保持同步的话,使用 git rebase 即可:

  1. // 拉去主仓库的代码
  2. git fetch upstream
  3. // 同步对应分支的代码
  4. git rebase upstream/master
  5. git rebase upstream/feature

以我之前的一次 pr 作为例子: 这次 pr 因为是新增了 feature,因此我们从 feature 分支切一个分支出来即可:

  1. // 先从 master 切换至 feature
  2. git checkout feature
  3. // 然后从 feature 上切一个新的分支出来
  4. git checkout -b feature-xxx

然后我们在这个feature 分支完成开发即可,同步之前提交使用 git rebase 即可。

3、提交 pr

我们先将自己的修改提交到自己 fork 过来的仓库相对应的分支上面去。

  1. git add 修改文件
  2. git commit -m "xxx"
  3. git push origin feature-xxx

这里要注意 commit 信息的规范,可以参考阮一峰老师博客
在提交成功之后,我们直接到 github 上面提交这份 pr,antd 的 pr 是会自动生成模版的,跟着模块相关的信息去填写即可,注意这里 pr 给 antd 的分支时同样要注意是 master 还是 feature 分支。

4、修改 pr

如果有大佬 review 了你的提交并给出了修改意见,因为很大部分的 pr 其实都会被指出意见,我们这里虚心去接受大佬的指导然后做出修改即可:

  1. git add 修改文件
  2. git commit -m "fix: xxxx"
  3. git fetch upstream
  4. // 这里注意分支
  5. git rebase upstream/feature
  6. // 然后将修改提交到之前到分支,这时候github会自动帮你把提交同步过去的
  7. git push origin feature-xxx