作者:beepony
链接:https://www.zhihu.com/question/21682976/answer/79489643
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

尝试用类比的方法来解释一下。想想我们中学考试,老师改卷的场景吧。

  • 你做的试卷就像仓库,你的试卷肯定会有很多错误,就相当于程序里的 bug
  • 老师把你的试卷拿过来,相当于先 fork
  • 在你的卷子上做一些修改批注,相当于 git commit
  • 最后把改好的试卷给你,相当于发 pull request.
  • 你拿到试卷重新改正错误,相当于 merge

当你想更正别人仓库里的错误时,要走一个流程:先 fork 别人的仓库,相当于拷贝一份,相信我,不会有人直接让你改修原仓库的clone 到本地分支,做一些 bug fix发起 pull request 给原仓库,让他看到你修改的 bug原仓库 review 这个 bug,如果是正确的话,就会 merge 到他自己的项目中至此,整个 pull request 的过程就结束了。理解了 pull request 的含义和流程,具体操作也就简单了。
     以 Github 排名最高的 https://github.com/twbs/bootstrap 为例说明。

  1. 先点击 fork 仓库,项目现在就在你的账号下了

  1. 在你自己的机器上 git clone 这个仓库,切换分支(也可以在 master 下),做一些修改。
~  git clone https://github.com/beepony/bootstrap.git
~  cd bootstrap
~  git checkout -b test-pr
~  git add . && git commit -m "test-pr"
~  git push origin test-pr
  1. 完成修改之后,回到 test-pr 分支,点击旁边绿色的 Compare & pull request 按钮
  2. 添加一些注释信息,确认提交
  3. 仓库作者看到,你提的确实是对的,就会 merge,合并到他的项目中以上就是 pull reqesut 的整个流程,希望对你有帮助~

GitHub中的Fork、Pull Request、Merge都是个啥意思?相关推荐

  1. GitHub中的fork,star,watch都是什么意思

    fork:从别人的代码库中复制一份到你自己的代码库,其中包含了原有库中的所有提交记录,fork后这个代码库是完全独立的,属于你自己,你可以在自己的库中做任何修改,当然也可以通过Pull Request ...

  2. 如何在github上提交PR(Pull Request)

    github 上有很多优秀的开源项目,很多时候我们不仅仅只是满足于使用,同时也想一起参与开源项目的开发,贡献自己的代码.今天这篇文章就给大家介绍一下如何在 github 上提交 PR,让我们一起为开源 ...

  3. [转]Github 中被 Fork 最多的库

    Github自从2008年上线以来,发展迅速,目前已经成为最流行的代码托管站点.在Github中,开发者除了可以托管自己的项目源码外,还可以Watch(关注).Star(加星).Fork(复制一份). ...

  4. 如何在github上发起一个pull request

    要在github上贡献自己的力量,就要了解github的协同工作模式,就是pull request的使用 注册一个github账号 打开github主页,注册一个账号. 安装客户端 客户端你可以安装原 ...

  5. 【提交PR】如何在 GitHub 提交第一个 pull request

    什么是复刻(forking)? 我们可以通过复刻操作将喜爱的仓库保存自己的GitHub账户中,以便独立地对其进行操作. 通过复刻,我们可以得到包含完整版本历史的目标仓库的实例,之后可以对复刻得到的仓库 ...

  6. 如何在github上发起一个pull request,如何贡献代码,参与开源项目

    点击页面右上角的 "fork" ,把你关注的项目fork到你自己的账号下了. 把项目克隆到本地 修改并push 回到你的github界面,发起请求: 在自己fork的库处新建请求: ...

  7. [转]github中,fork了别人的项目之后,如何将别人新增的分支同步过来?

    转载说明: 文章转载整理自https://segmentfault.com/q/1010000004228020 文章目录 问题概要 解决方案 编者后话 问题概要 在项目的仓库中,有一个项目A,我将它 ...

  8. github pull request那些事

    什么是Pull Request? 网上有人用老师批改卷子这件事来解释什么是Pull Request,觉得挺形象的,变拿来用了: 你做了卷子(好比你创建了一个github仓库),老师收取你的卷子(好比f ...

  9. Github pull request 工作流总结

    github 上面有很多非常不错的开源项目,我们也可以向其贡献自己的代码,那么我们如何提交自己的代码给开源项目呢?这里就要用到 pull request 的提交方式.当然,基于 git 的其他平台也是 ...

最新文章

  1. 500分求助,delphi里用standred来配置dbf文件
  2. 用友服务器显示禁用,包头用友 U6 运行时提示端口4630 被禁用 或者 1433端口不通...
  3. 常用的sublime text 3插件
  4. Kinect SDK v1.7 新特性、交互框架与新概念
  5. Djang drf:APIView源码分析
  6. Lua1.0 代码分析 table.c
  7. 2019小程序没必要做了_2019年什么行业适合做小程序
  8. 用户故事与敏捷方法—一些用户故事(实战二)
  9. win10易升计算机丢失,易升win10害死人|win10易升怎么关闭
  10. SAN:存储区域网络及其协议
  11. XP系统屏幕倒立翻转了怎么办???
  12. 3-6指针与数组的天生姻缘
  13. 普通浏览器打开微信页面出现验证的解决方法
  14. python将字符写入excel_Python 爬虫并且将数据写入Excel
  15. 可移除 否_用友软件U861质量管理培训 免费阅读可下载
  16. 源代码的学习(如何学习)
  17. 基于物联网区块链技术构建智慧城市价值生态
  18. 程序员常用的网站(转)
  19. element ui table表格轮播
  20. python 循环遍历0-9,a-z

热门文章

  1. 如何在IDEA创建新的项目
  2. 【Android TV 开发】-->Leanback 中的 HorizontalGridView
  3. LaTeX 中的特殊符号
  4. java strtotime_php 深入理解strtotime函数的使用详解
  5. 余宏波 计算机网络,快速学习技术的理论构建与实证研究
  6. Python 小工具:调用「百度翻译API」实现英汉互译及多语言翻译
  7. html视频播放后自动跳转到页面,【Web前端问题】html视频播放完后跳转
  8. CTFT DTFT DFT ZT 这些变换之间有什么联系和区别
  9. 用Python做一个高山滑雪小游戏
  10. ASP.NET读取Excel中的数据转存到数据库(二)