前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么使用 Git 和 Github 向开源项目提交 Pull Request

怎么使用 Git 和 Github 向开源项目提交 Pull Request

作者头像
沈唁
发布2018-12-06 15:20:37
1.2K0
发布2018-12-06 15:20:37
举报
文章被收录于专栏:沈唁志沈唁志

渣渣橘又跟我提了一下毒鸡汤,看了一下之前学的 python 脚本还能用,然后在 Github 上看到了一个爬虫集合的项目,收集各种爬虫

Github 的一大特色就是 Pull Request 功能(简写为 PR),之前没给他人的项目提交过 PR,来试一下做一个记录

Pull Request 是什么

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

Pull Request 本质上是一种软件的合作方式,是将涉及不同功能的代码,纳入主干的一种流程。这个过程中,还可以进行讨论、审核和修改代码

简单的说是在自己本地仓库修改代码,提交到自己远程仓库,提交 PR 后被接受后,再会被合并到 master

具体流程

申请账号、添加 ssh 公钥等过程就不说了哈

1、fork

将项目 fork 到自己的仓库中,我以 awesome-spider 为例

进入到 awesome-spider 的 Github 项目中,点击右上角的 fork,稍等片刻,此项目便会出现在自己的仓库中

进到自己 fork 的项目中,就能看到Clone or download按钮,复制一下 SSH 链接或者 HTTPS 链接

通过上面的步骤,已经将远程仓库建好了

2、clone

将你刚才 fork 过来的项目 clone 到本地,用的是你刚才复制的 SSH 链接或者 HTTPS 链接

代码语言:javascript
复制
git clone git@github.com:sy-records/awesome-spider.git

进到 awesome-spider 目录中,试试跑一下git status,会提示现在是 master 分支

git remote -v命令,可以看到此时只与自己的远程仓库建立了连接

还需要与上游建立连接,这里上游指的是一开始 fork 的那个项目源,以 awesome-spider 为例,执行如下命令:

代码语言:javascript
复制
git remote add upstream git@github.com:facert/awesome-spider.git

再用git remote -v可以看到

与上游项目建立连接
与上游项目建立连接

与上游项目建立连接

接下来就能创建分支了

3、创建分支

继续运行命令:

代码语言:javascript
复制
git checkout -b dev

这个命令的意思是创建一个叫 dev 的分支,运行这个命令后 bash 将自动切换到新的分支下

4、修改代码

自行修改代码,完成开发等等

5、推送远程

提交的话也是按照正常流程提交就行了,push 之后,在自己的远程仓库便能看刚才 push 上去的分支了

5、提交PR

找到 New pull request,需要注意的是 compare 处选择刚才提交上来的分支

提交PR
提交PR

提交PR

然后点 Create pull request

写好名字,写好说明,提交,就OK啦

PR 创建后,就等着管理者是否接受该 PR 了

沈唁志,一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:怎么使用 Git 和 Github 向开源项目提交 Pull Request

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pull Request 是什么
  • 具体流程
    • 1、fork
      • 2、clone
        • 3、创建分支
          • 4、修改代码
            • 5、推送远程
              • 5、提交PR
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档