善用Git和GitHub之第一次pull request

第一次pull request

一直想要在github上作出一点贡献,暂时没有提交代码的能力。第一次pull request是帮一个外国开发者翻译一个Telegram bot。这篇文章就是我的一些笔记。

开始工作

  • 首先你应该要注册一个github帐号(假如叫kris,下文有用到)
  • 用网站打开你想要贡献的项目仓库,然后你会看见有一个fork按钮
  • 在你的电脑安装git,虽然说直接在网站上操作也行,不过我说的是命令行

开始pull request

当你按了fork之后,就是相当与复制了这个项目到你的github仓库上,你会发现你的仓库会多出一个项目。例如有一个叫star的开发者有一个叫daydaysleep的项目,你在他的主页上看见的是star/daydaysleep。当你fork了之后,你会发现你的主页上面出现kris/daydaysleep,但是其实这是变成你的项目。
然后你在电脑命令行clone你的项目到电脑

$ git clone https://github.com/kris/daydaysleep.git

然后修改你的代码,修改完毕之后

$ git add . && git commit -m "modified some file"
$ git push origin master

但其实你这么做,只是把代码推送到你的自己的仓库中,如果这时候你creat pull request,如果上游项目已经作出修改,但是你push之前pull下来的只是你自己仓库的更新,所以上游合并你的代码的时候可能工作量会很大。
所以如果你想给上游贡献代码,你还需要更新上游的代码到你的本地仓库

# 添加上游仓库
$ git remote add upstream https://github.com/star/daydaysleep.git
# 从original repo更新文件
$ git fetch upstream
# 合并上游的master分支到你当前的分支
$ git merge upstream/master

然后每次开始工作之前都先fetch upstream 和merge,然后修改完代码之后push到自己的仓库

$ git add . && git commit -m "modified some file"
$ git push origin master

然后在github中打开自己的仓库项目,点击pull request,选择好你的分支和想要合并到上游的哪个分支,做好code review,写一点注释给作者看,然后提交。
最后等到上游合并你的pull 热去

你可能感兴趣的:(善用Git和GitHub之第一次pull request)