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

渣渣橘又跟我提了一下毒鸡汤,看了一下之前学的 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 链接

git clone git@github.com:sy-records/awesome-spider.git

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

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

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

git remote add upstream git@github.com:facert/awesome-spider.git

再用git remote -v可以看到

与上游项目建立连接

接下来就能创建分支了

3、创建分支

继续运行命令:

git checkout -b dev

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

4、修改代码

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

5、推送远程

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

5、提交PR

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

提交PR

然后点 Create pull request

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 16.04中安装Linux,Nginx,MySQL,PHP(LNMP堆栈)

LNMP软件堆栈是一组可用于为动态网页和Web应用程序提供服务的软件。它是一个描述带有Nginx Web服务器的Linux操作系统的首字母缩写词。其后端数据存储...

1571
来自专栏python3

python-web环境

Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。应用程序有两种模式C/S...

1291
来自专栏java思维导图

全面了解 Nginx 到底能做什么

作者:Raye 链接:http://www.raye.wang/2017/02/24/quan-mian-liao-jie-nginxdao-di-neng-z...

1073
来自专栏zaking's

走近webpack(0)--正文之前的故事

  在前端工作的过程中,只要你接触过vue,angular,react,gulp就一定知道webpack或者听说过或者使用过webpack,但是或许你对webp...

2884
来自专栏WindCoder

“仿OpenStack开发云计算管理软件”第一周实验报告

熟悉了git提交等基本命令、了解了用于创建独立的 Python 开发环境的Virtualenv,虽然初窥了Flask框架,但仍需要学习实验楼的Flask框架基础...

1391
来自专栏Core Net

用内网服务器对接微信公众号服务

5535
来自专栏维C果糖

通过 Git 将代码提交到 GitHub(上)

1 前言 在「利用 SSH 完成 Git 与 GitHub 的绑定」一文中,我们完成了本地 Git 与远程 GitHub 的绑定,这意味着我们已经可以通过 Gi...

2725
来自专栏编程心路

win10 下配置 PHP 独立开发环境总结

Apache 的官网上是不能下载 Apache 服务器的安装包的,只提供 Apache 的源码,下载下来需要用 VC++ 重新编译一下,并且还要配置不少东西(心...

1404
来自专栏后端技术探索

Nginx服务器架构简析

模块化结构的思想是一个很久的概念,但也正是成熟的思想造就了Nginx的巨大优越性。

1033
来自专栏木头编程 - moTzxx

PHP学习(wampServer+PhpStorm+XDebug)——环境相关配置参考(上)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

1404

扫码关注云+社区

领取腾讯云代金券