Skip to main content

💡 提交Pull Request

🧑🏻‍💻提PR步骤

1、Fork源码:

  • 进入项目页面, 点击右上角的Fork按钮
  • 之后会进入这个页面,填写一些简介信息(我已填写),点击create
  • 创建成功之后,你会在repositories中看到刚刚fork的项目
  • 此时,你需要在本地clone刚刚fork的项目,在命令行终端执行命令:
git clone https://github.com/zsf1482451437/pageplug.git

2、获取原项目代码

  • 进入pageplug文件夹, 添加远程地址
git remote add origin https://github.com/zsf1482451437/pageplug.git
  • 获取最新代码
git pull origin open-v1.8
现在我们在 fork 来的 open-v1.8分支上, 这个 open-v1.8留作跟踪origin的远程代码...(一般是项目的主分支是master,这项目主分支命名为open-v1.8)

3、创建分支

好了, 现在可以开始贡献我们的代码了

按照国际惯例, 我们一般不在 master 上提交新代码, 而需要为新增的功能或者fixbug建立新分支, 再合并到 master 上, 使用以下代码创建分支

git checkout -b branch1

现在我们可以在分支上更改代码了

假设我们已经添加了一些代码, 使用命令提交到本地仓库

git commit -a -m "new commit"
(选项 "-a" 表示自动将所有已修改和已删除的文件添加到暂存区,这样就不必使用 "git add" 命令来逐个添加文件了。)

4、合并修改

一个常见的问题是远程的 origin1 有了新的更新, 从而会导致我们提交的 Pull Request 时会导致冲突, 因此我们可以在提交前先把远程其他开发者的commit和我们的commit合并

  • 使用以下命令切换到本地仓库的 master 分支:
git checkout master
  • 使用以下命令拉取别人远程仓库origin1的最新代码到本地:
git pull origin master
  • 切换回 branch1:
git checkout branch1
  • 如果忘记自己之前建的分支名可以用 git branch 查看,把 master 的 commit 合并到 本地仓库branch1分支:
git rebase master
  • 把更新代码提交到自己远程的 branch1分支 中:(相当于留个副本)
git push <你的远程仓库地址> branch1

5、发起Pull Request

  • 完成代码的修改,在本地自测完成后便可发起 pull request 了,不要大意,这里还得有一个地方需要注意,那就是代码换行符的问题。
一旦换行符与源仓库的不一致时,`git` 会认为这次修改是删除后重来的,这样会给 `code review` 带来巨大的麻烦。
  • 最简单的方法就是设置自己 git 的全局配置,可以参考这里
# 提交时转换为LF,检出时转换为CRLF
git config --global core.autocrlf true

# 提交时转换为LF,检出时不转换
git config --global core.autocrlf input

# 提交检出均不转换
git config --global core.autocrlf false

确认没问题后便可点击这里发起 pull request,后面按照引导执行即可。

6、Code Review

PR 发起后便可等待社区审核了。在这过程中我们会和你发起沟通交流,分享一些我们的想法,同时将你的想法和idea与PagePlug的进行深度融合,一同参与头脑风暴,有更好的code review过程。

沟通完后我们会将这次pr合并进master中