为 GitHub 开源项目贡献代码

2022-04-15 宋洋葱 宋洋葱 1 min

什么是 pr(pull request)

参考 Pull Request 的命令行管理

“Pull Request 是 github 的一种通知机制。你修改了他人的代码,将你的修改通知原来的作者,希望他合并你的修改,这就是 Pull Request。”

一、fork 原作者的项目

假设 someone 有个项目 demo

由于没有对 demo 的直接 push 权限,我们需要先对 demo 库进行 fork,然后从自己的地址 clone。

git clone git@github.com:yourname/demo.git
someone

二、与原作者仓库进行拉取和推送关联

为了保证我的代码和原作者实时同步(原作者的改动我们也能拉取,我们的修改也能推送到原作者仓库),需要进行 关联。

clone 项目到本地后,进入 demo 目录,添加一个新的推送地址,取名叫 upstream(代表原作者的仓库) 。

cd ~/demo
git remote add upstream git@github.com:someone/demo.git

使用 git remote -v 查看此时有两个推送和拉取地址。

origin	git@github.com:username/demo.git (fetch)
origin	git@github.com:username/demo.git (push)
upstream	git@github.com:someone/demo.git (fetch)
upstream	git@github.com:someone/demo.git (push)

三、切换 dev 分支

根据原作者的说明,一般需要在 dev 分支进行修改和提交 pr。

先查看远程仓库里有哪些分支 git branch -r

  origin/HEAD -> origin/master
  origin/develop
  origin/master
  upstream/develop
  upstream/master

切换到 develop 分支,并跟踪远程分支。

git checkout –track origin/develop

Comments